2011-05-09 46 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

似乎沒有內置的方法來做到這一點,所以我只是刪除舊的監聽器並添加新的監聽器陣列成員資格發生變化時。