2016-06-29 2 views
0

Swift 2.0 프로젝트에서 realm-cocoa (v1.0.1)를 사용하고 있으며 objectiveObject-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")] 
} 

다음 "방법은 수퍼 클래스에서 모든 메소드를 오버라이드 (override)하지 않는"며 불만을 컴파일러 .

나는 오류가 변경 @objc와 정의를 접두사 경우에 " '() -> NSDictionary에'호환되지 않는 유형이 선택 'linkingObjectsProperties'와 재정의 방법은?!

어떤 아이디어

감사

..!.

답변

0

+[RLMObject linkingObjectsProperties]이 트릭을해야하는 서명과 일치하도록 재정의를 업데이트 class func linkingObjectsProperties() -> [String : RLMPropertyDescriptor]로 스위프트에 노출

의미가 있습니다
+0

감사합니다 내가 이전에 시도했다 -> [있는 NSString : RLMPropertyDescriptor, B 유타 "NS"는 컴파일러가 울기에 충분하다고 생각합니다. –

+0

나중에 참조 할 수 있도록 Xcode에서 헤더를 열고 Navigate -> Generated Interface로 이동하여 선언이 Swift에 어떻게 노출되는지 확인할 수 있습니다. – bdash