我是 ReactiveCocoa 的新手,想NSManagedObject
在 Swift 2 项目中的某些 s 上用它来替代 KVO。
我在网上找到的大多数示例都使用RACObserve()
,在 RAC 3 中已被删除(?)。变更日志指出,新版本不再强调 KVO,我应该移至PropertyType
s。
有什么方法可以让我在现有设备上使用 Reactive Cocoa 3 和 4,其NSManagedObject
方式与可以使用的方法类似RACObserve()
吗?
我是 ReactiveCocoa 的新手,想NSManagedObject
在 Swift 2 项目中的某些 s 上用它来替代 KVO。
我在网上找到的大多数示例都使用RACObserve()
,在 RAC 3 中已被删除(?)。变更日志指出,新版本不再强调 KVO,我应该移至PropertyType
s。
有什么方法可以让我在现有设备上使用 Reactive Cocoa 3 和 4,其NSManagedObject
方式与可以使用的方法类似RACObserve()
吗?
ReactiveCocoa 3.0 文档指向DynamicProperty
DynamicProperty 类型可用于桥接到需要键值编码 (KVC) 或键值观察 (KVO) 的 Objective-C API,例如 NSOperation。请注意,大部分 AppKit 和 UIKit 属性不支持 KVO,因此应通过其他机制观察它们的变化。MutableProperty 应尽可能优先于动态属性!
所以你需要制作一个 DynamicProperty 对象并使用它的 signalProducer。像这样的东西:
DynamicProperty(object: managedObject, keyPath: "attribute").producer
PS ReactiveCocoa 源代码有很棒的内联文档。查看它以获取更多信息。