【发布时间】:2015-06-21 18:09:17
【问题描述】:
如果我有以下数据模型:
Model
- subModels (NSMutableArray * of type SubModel)
SubModel
- text
- createdAt
是否可以使用 KVO 来观察父类 Model 的变化并仍然收到关系模型属性的变化通知?
使用ReactiveCocoa,我想要完成的工作看起来像这样:
self.model = [Model new];
self.model.subModels = [NSMutableArray array];
SubModel *subModelOne = [SubModel new];
[self.model mutableArrayValueForKeyPath:@"subModels"] addObject:subModelOne];
[RACObserve(self, model) subscribeNext:^(id next){
NSLog(@"%@", next);
}];
subModelOne.text = @"Lollipop, lollipop, oh lolli lolli lolli lollipop!";
我想要发生的是我会从初始化model.subModels 到一个空数组中获得下一个事件,一个来自向关系添加子模型,最后一个来自设置subModelOne.text。本质上,我希望所有子属性、子模型等、KVO 通知能够向上传播,但我不确定如何完成该任务。
【问题讨论】:
-
澄清一下,您想要的是 KVO 答案而不是 RAC 答案?
-
RAC 会更好。我发现了这个:github.com/ReactiveCocoa/ReactiveCocoa/issues/1195,我还没有机会查看/评估它
标签: key-value-observing reactive-cocoa