3

我是 ReactiveCocoa 的新手,想NSManagedObject在 Swift 2 项目中的某些 s 上用它来替代 KVO。

我在网上找到的大多数示例都使用RACObserve(),在 RAC 3 中已被删除(?)。变更日志指出,新版本不再强调 KVO,我应该移至PropertyTypes。

有什么方法可以让我在现有设备上使用 Reactive Cocoa 3 和 4,其NSManagedObject方式与可以使用的方法类似RACObserve()吗?

4

1 回答 1

6

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 源代码有很棒的内联文档。查看它以获取更多信息。

于 2015-10-19T09:19:10.863 回答