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 '来满足协议。 –