我想知道是否有任何方法可以观察单例类的某个属性的变化
就我而言,对于 Realm,我有这样的东西
class User: Object {
dynamic var name:String = ""
dynamic var email:String = ""
dynamic var id:String = ""
dynamic var picURL:String = ""
dynamic var pic:Data = Data()
static let currentUser = User()
{
didSet
{
try! realm.write {
realm.add(currentUser, update: true)
}
}
}
}
我想要实现的目标是我希望我的应用程序中只有一个用户对象,并且每当其任何属性被修改时,我都想将其保存到领域。
然而,上面的例子显示了错误
“let”声明不能观察属性
你会如何处理它?您认为我的想法是拥有 Realm 对象单例并在某些属性更改时更新它是一个好主意吗?
我想知道拥有由 Realm 持久保存的类的单例对象是否真的有意义。
It's not possible to have a blanket observer for a single Realm Object
at the moment, however there's an issue tracking it in the Realm GitHub https://github.com/realm/realm-cocoa/issues/3431 and I believe it's being prioritized at the moment.
Alcivanio 是正确的,您需要手动触发更新事件以确保更改保留到 Realm。话虽这么说,因为 Realm 控制持久对象中的访问器,didSet
一旦对象被保存到 Realm 中,不保证会被调用。出于简单性原因,我建议使用闭包来更新用户对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)