我已经阅读了 Stack Overflow 上的以下问题(What is the best way to connect Realm and SwiftBond),不幸的是,这个问题已有 2 年历史。我处于相同的位置,我想创建一个 Realm 对象的可观察实例,由此 Realm 对象将从 UI 更新,然后可以写入 Realm。
根据我的阅读和理解,我认为Observable(object:keyPath:)
Bond v6 中不再存在,但我无法完全弄清楚替代方案是什么,尽管我认为它与dynamic(keyPath:ofType:)
.
我正在努力寻找可以让我执行以下 Bond 6 版本的示例或任何文档:
class Dog: Object {
dynamic var name = ""
dynamic var birthdate = NSDate(timeIntervalSince1970: 1)
}
extension Dog {
class ObservableDog {
let name: Observable<String>
let birthdate: Observable<NSDate>
init(dog: Dog) {
name = Observable(object: dog, keyPath: "name")
birthdate = Observable(object: dog, keyPath: "birthdate")
}
}
func observableVariant() -> Dog.ObservableDog {
return ObservableDog(dog: self)
}
}
let myDog = Dog().observableVariant()
myDog.name.observe { newName in
print(newName)
}
myDog.name.bindTo(nameLabel.bnd_text)
realm.write {
myDog.name.value = "Jim"
}
我现在正在尝试这个的第二天,所以我希望有人能够提供帮助。
提前致谢。