2016-04-12 4 views
0

Swiftで書かれたiOSアプリケーションでFCOfflineQueue(オフラインでネットワークリクエストをキューに入れるための永続的なフレームワーク)を使用しようとしています。私はトラブルスウィフトでこれを宣言したのです、FCOfflineQueueクラスをサブクラス化して、私はFCOfflineQueueからサブクラス自分のキューでは、私のsubclass-Swiftでobjective-Cメソッドを宣言する際に問題が発生しました

- (BOOL)executeOperation:(int64_t)opcode userInfo:(NSDictionary *)userInfo; 

に次のメソッドをオーバーライドすることになっています。私は次のことをしています:

override func executeOperation(opcode: Int64, userInfo: NSDictionary) -> Bool 

これは、このメソッドはスーパークラスのメソッドをオーバーライドしません。

私がやる代わり場合は、セレクタで 'executeOperation:のUserInfo:' オーバーライドメソッドをsays-

following-

@objc override func executeOperation(opcode: Int64, userInfo: NSDictionary) -> Bool 
互換性のない型を持っている '(Int64型、NSDictionaryの) - >ブール' 私は思っ

int64_tはSwiftのInt64に相当します。それは変換と関係がありますか?

何か助けていただければ幸いです。

答えて

0

は次のように上書きしよう:あなたはスウィフト辞書にパラメータ化された型 とNSDictionaryのオブジェクトから橋渡しすると、結果の辞書がタイプ [のObjectType]である

override func executeOperation(opcode: Int64, userInfo: [NSObject : AnyObject]!) -> Bool { 
    return false 
} 

。 NSDictionaryオブジェクトでパラメータ化された 型が指定されていない場合、[NSObject: AnyObject]タイプのSwift辞書に橋渡しされます。トリックをした

https://developer.apple.com/library/mac/documentation/Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html

+0

!ありがとう、トン。 – Subzero

+0

あなたは大歓迎です:) –

関連する問題