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
),出于某种原因,编译器决定处理这个问题的最好方法是假装方法不存在。一旦我导入了另一个文件,一切正常。
我在混合 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
),出于某种原因,编译器决定处理这个问题的最好方法是假装方法不存在。一旦我导入了另一个文件,一切正常。