2011-05-09 56 views
1

我想观察一个包含在NSArray中的模型的属性。我不能用“arrayOfModels.property”的的keyPath,因为NSArray中抛出的包含在NSArray模型中的KVO

- (void)addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context; 

异常相反,文档说使用

- (void)addObserver:(NSObject *)observer toObjectsAtIndexes:(NSIndexSet *)indexes forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context; 

这是否意味着我也不得不听“arrayOfModels”本身,以便当其元素发生变化时,我可以从旧元素中移除侦听器并将它们附加到新元素上?我希望KVO会非常棒,以某种方式照顾这个...

+0

你为什么不使用数组控制器? – 2011-05-13 21:11:44

回答

0

似乎没有内置的方法来做到这一点,所以我只是删除旧的监听器并添加新的监听器阵列成员资格发生变化时。