Метод Objective-Zip недоступен для класса Swift
Я использую Objective-Zip в смешанном проекте Swift/Objective-C, и я не могу получить currentFileInZipInfo()
работать. Это не доступно в автозаполнении, и если я пытаюсь ввести его вручную, я получаю сообщение об ошибке Value of type 'ZipFile' has no member 'currentFileInZipInfo'
, Я импортировал ZipFile.h
в мой соединительный заголовок, и другие методы появляются и компилируются без ошибок, так что я уверен, что все правильно подключено.
Вот код, о котором идет речь:
let zipFile = ZipFile(fileName: "myFile.zip", mode: ZipFileModeUnzip)
if let unzippedFile = zipFile, unzippedFile.numFilesInZip() == 1 {
unzippedFile.goToFirstFileInZip()
let info = unzippedFile.currentFileInZipInfo() // error here
}
Почему некоторые методы доступны, а другие нет?
2 ответа
В конце концов понял это самостоятельно. Проблема заключалась в том, что метод возвращает объект из другого файла, который я не импортировал (FileInZipInfo.h
), и по какой-то причине компилятор решил, что лучший способ справиться с этим - сделать вид, что метод не существует. Как только я импортировал другой файл, все работало нормально.
Попробуй это:
let info = unzippedFile.getCurrentFileInZipInfo()
... или как собственность:
let info = unzippedFile.currentFileInZipInfo