Sat*_*tre 26 observers nsmanagedobject ios swift
我在类中声明了var,如下所示:
@NSManaged var isFavorite: Bool
Run Code Online (Sandbox Code Playgroud)
我想宣布一个属性观察者,非常类似于下面的那个.
var organization: String {
didSet { postNotificationWithName( "newData" ) }
}
Run Code Online (Sandbox Code Playgroud)
但是,Swift告诉我,NSManaged不允许在vars 上拥有财产观察员.有什么方法可以为我的isFavorite变量实现这样的功能或类似的功能吗?
Tom*_*ton 29
是的 - 删除@NSManaged.这不是绝对必要的,但如果你删除它,你不幸需要实现get和set财产.你需要添加类似的东西
@objc public var newData: String? {
set {
willChangeValue(forKey: "newData")
setPrimitiveValue(newValue, forKey: "newData")
didChangeValue(forKey: "newData")
}
get {
willAccessValue(forKey: "newData")
let text = primitiveValue(forKey: "newData") as? String
didAccessValue(forKey: "newData")
return text
}
}
Run Code Online (Sandbox Code Playgroud)
如果你实际上并不需要它们,那么实现这两者是很烦人的,但这就是现在的方式.
既然你有一个@objc,你可能不需要set,但你仍然可以添加一个,didSet如果你想要的.
| 归档时间: |
|
| 查看次数: |
3674 次 |
| 最近记录: |