0
我很難使Swift NSManagedObject
子類符合Objective-C協議。Swift類「不實現(objc)協議」
我創建了一個模型協議,以抽象有些我從我的應用程序,它沒有生意知道這些事情的其他組件的核心數據模型是核心數據管理對象...
所以我有一個協議如下:
@protocol UserProtocol <NSObject>
@property (nonatomic) NSSet *friends;
@end
而且在我迅速管理對象子類:
class User: NSManagedObject, UserProtocol {
@NSManaged var friends: Set<User>
}
不幸的是,我被告知User
不符合UserProtocol
。我找不到一種方法來查看我的Objective-C協議的快速解釋,有沒有辦法做到這一點?如果我能看出我可以計算出爲什麼我的swift類不符合協議。
也許你需要getter和setter?另外,'var Set'不等於'NSMutableSet'嗎? – Mundi
'@ NSManaged'需要'var'。你有一點,雖然也許集解析爲NSMutableSet。那麼在Objective-C的一段代碼中沒有獲得Swift視圖的方法嗎? – Daniel
您正在使用哪種Xcode版本?在Swift 1.2(Xcode 6.3.2)中,'NSSet'映射到'Set',所以你必須將該屬性定義爲'@NSManaged var friends:Set '來滿足協議。 –