2017-01-06 13 views
0

以下の関数を使用するフレームワークを使用していますが、Webサイトを使用して迅速に変換しようとしましたが、できませんでした。どんな助けでも大歓迎です!問題objective-Cからswiftに関数を変換する

[databaseChanges enumerateDocumentChangeDetailsUsingBlock:^(METDocumentChangeDetails *documentChangeDetails, BOOL *stop) { 
     ... 
    }]; 

答えて

1

これを試してみてください:

databaseChanges.enumerateDocumentChangeDetailsUsingBlock({ 
    (documentChangeDetails:METDocumentChangeDetails, 
    stop:UnsafeMutablePointer<ObjCBool>) -> Void in 
    // ... 
}) 
1

は迅速で利用可能なフレームワークですか?そうでない場合は、ここで説明するようにブリッジングヘッダーを作成する必要があります:

https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html

その後、あなたはXcodeのの自動補完を使用してこの関数を呼び出す方法を簡単に把握することができるようになります。

ジャストタイプ:

databaseChanges.enu 

とXcodeはあなたにそれが呼ばれるべき方法を提供します。

編集:

私はあなたがthis libraryを使用していると仮定。迅速なサポートを提供します。だからあなたの問題は純粋にSwift 3の構文でブロックを書く方法です。 matt's answerにはその解決策があります。スウィフト3では

1

databaseChanges.enumerateDocumentChangeDetails { details, stop in 

} 

それは他の構文上のノイズ(detailsstopの型など)のすべての種類を示唆するかもしれないが、これは維持するために型推論を使用して、必需品にそれを蒸留素敵で表現力豊かなコード。

そして、あなたはそれを停止したい場合は、それはだ

stop.pointee = true 
関連する問題