2016-06-29 6 views
0

私はrealm-cocoa(v1.0.1)をSwift 2.0プロジェクトで使用しています(objective-c相互運用性が必要です)、linkingObjectsPropertiesメソッドをオーバーライドする際に問題があります。linkingObjectsPropertiesはswift 2.0からオーバーライドします

私はレルムのドキュメント(https://realm.io/docs/objc/latest/#inverse-relationships)に続き、次のように私のRLMObjectサブクラスで私の機能のオーバーライドを定義しました:

override class func linkingObjectsProperties() -> NSDictionary { 
    return ["owners": RLMPropertyDescriptor(withClass: Person.self, propertyName: "dogs")] 
} 

コンパイラをし、「メソッドはスーパークラスからの任意のメソッドをオーバーライドしない」と言って、文句を言います。

私は@objcで定義の前に付ける場合は、セレクタ 'linkingObjectsProperties' と「オーバーライドメソッドにエラー変更は互換性のない型 '() - > NSDictionaryの' は?

任意のアイデア

おかげ

を!

答えて

0

+[RLMObject linkingObjectsProperties]class func linkingObjectsProperties() -> [String : RLMPropertyDescriptor]としてスウィフトにさらされている署名を一致させるために、あなたのオーバーライドを更新すると、トリックを行う必要があります

+0

それは動作します、私が以前にしようとしたありがとう - > [NSStringの:RLMPropertyDescriptor]。。!。、B私は "NS"がコンパイラを泣かせるのに十分だったと思います。 –

+0

将来参照するには、宣言がSwiftにどのように公開されているかを、Xcodeのヘッダーを開いてからNavigate - > Generated Interfaceにジャンプすることで調べることができます。 – bdash

関連する問題