Метод 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
Другие вопросы по тегам