我有多个NSManagedObject
类,我正在使用一个temp变量进行扩展,并从另一个上下文返回其实例。下面的方法可以正常工作,但是它的类繁琐很多。
我尝试扩展NSManagedObject
,但是由于NSManagedObject是非泛型的,所以我无法返回特定的类类型。
是否可以将所有这些组合到一个扩展变量中,但仍然保留返回类类型的能力?
extension Account {
var temp: Account {
return core.temporaryContext.object(with: self.objectID) as! Account
}
}
extension Transaction {
var temp: Transaction {
return core.temporaryContext.object(with: self.objectID) as! Transaction
}
}
extension Category {
var temp: Category {
return core.temporaryContext.object(with: self.objectID) as! Category
}
}
答案 0 :(得分:1)
由于我们谈论的是计算属性而不是存储属性(不能通过协议添加),因此您希望将功能放入协议及其可能的范围内。
您先写一个空协议和您想要该协议实现的扩展,然后将扩展需要的内容添加到协议定义中。
application/json