Objective-Zip 方法不适用于 Swift class

Objective-Zip method not available to Swift class

我在混合 Swift/Objective-C 项目中使用 Objective-Zip,但我无法使 currentFileInZipInfo() 工作。它在自动完成中不可用,如果我尝试手动输入它,我会收到错误 Value of type 'ZipFile' has no member 'currentFileInZipInfo'。我已经将 ZipFile.h 导入到我的桥接 header 中,其他方法确实出现并编译没有错误,所以我很确定它们都正确连接了。

这是有问题的代码:

let zipFile = ZipFile(fileName: "myFile.zip", mode: ZipFileModeUnzip)

if let unzippedFile = zipFile, unzippedFile.numFilesInZip() == 1 {
    unzippedFile.goToFirstFileInZip()
    let info = unzippedFile.currentFileInZipInfo() // error here
}

为什么某些方法可用,而其他方法不可用?

试试这个:

let info = unzippedFile.getCurrentFileInZipInfo()

...或作为 属性:

let info = unzippedFile.currentFileInZipInfo

最终我自己弄明白了。问题是方法 returns 来自另一个我没有导入的文件的对象 (FileInZipInfo.h),出于某种原因,编译器决定处理这个问题的最好方法是假装方法不存在。一旦我导入了另一个文件,一切正常。