我正在使用带有Swift 2.0项目的realm-cocoa(v1.0.1)(需要objective-c互操作性),并且无法覆盖linkedObjectsProperties方法。
我已经按照Realm文档(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 :(得分:0)
+[RLMObject linkingObjectsProperties]
以class func linkingObjectsProperties() -> [String : RLMPropertyDescriptor]
的形式向Swift公开。更新覆盖以匹配该签名应该可以解决问题。