我正在使用 ReactiveCocoa4 开发一个新的新 swift 2 项目,我想知道如何像之前在 ObjC 中那样观察属性变化。
[RACObserve(self,self.model.wifiState) subscribeNext:^(id newValue){ @strongify(self); self.wifiState = newValue; }];
你有什么提示吗?
谢谢
蒂埃里
我正在使用 ReactiveCocoa4 开发一个新的新 swift 2 项目,我想知道如何像之前在 ObjC 中那样观察属性变化。
[RACObserve(self,self.model.wifiState) subscribeNext:^(id newValue){ @strongify(self); self.wifiState = newValue; }];
你有什么提示吗?
谢谢
蒂埃里
您可以使用以下方法执行相同操作DynamicProperty
:
DynamicProperty(object: self.model, keyPath: "wifiState")
.signal // or `producer` if you care about the current value
.map { $0 as! WifiState } // Necessary because there is no way to infer the type of the given keyPath.
.observeNext { [unowned self] self.wifiState = $0 }
如果您在使用 MutablePropery 时需要观察数据(无 UI),但如果您需要观察(或绑定)UI,则使用 DynamicProperty
我编写了简单的应用程序使用 RAC4 来演示 RAC2 之后更难的答案