2017-04-13 1 views
0

Swift/Objective-CプロジェクトでObjective-Zipを使用していますが、currentFileInZipInfo()を使用することができません。オートコンプリートでは使用できません。手動で入力しようとするとエラーValue of type 'ZipFile' has no member 'currentFileInZipInfo'が表示されます。私はZipFile.hを私のブリッジヘッダーにインポートしました。他のメソッドはエラーなしで表示され、コンパイルされるので、すべて正しく接続されていることを確信しています。SwiftクラスでObjective-Zipメソッドを使用できない

は、ここで問題のコードです:

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

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

なぜメソッドの一部が利用できるようになるではなく、他の人?

答えて

1

は、最終的には自分でそれを考え出しました。問題は、メソッドがインポートされていない別のファイル(FileInZipInfo.h)からオブジェクトを返すことであり、何らかの理由でコンパイラがそれを処理する最善の方法がメソッドが存在しないふりをすることであると判断したためです。一度他のファイルをインポートすると、すべて正常に動作しました。

+0

奇妙なことに、コンパイラの動作も認識していませんでした:-( –

0

このお試しください:

let info = unzippedFile.getCurrentFileInZipInfo() 

...またはプロパティとして:

let info = unzippedFile.currentFileInZipInfo 
+0

戻り値ではなくメソッド自体に 'info'を設定していたので、私が見つけた解決策の前でも後でもどちらもうまくいきませんでした。 –

関連する問題