2014-01-22 44 views
3

當通過NSArrayController添加/刪除對象時,如何獲得通知?通過NSArrayController添加/刪除對象的KVO

我想是這樣

[core addObserver:self forKeyPath:@"arrangedObjects" options:0 context:nil]; 

我得到的東西的通知已被添加或刪除,但我不知道哪一個對象,我不知道做了什麼(刪除或添加) 。

change字典observeValueForKeyPath:ofObject:change:context:不會返回任何有用的信息。

回答

1

我將一個NSMutableArray綁定到NSArrayController的contentArray並觀察它。

@property (retain) NSMutableArray *array; 

[self addObserver:self forKeyPath:@"array" options:NSKeyValueObservingOptionNew context:NULL]; 

要得到改變的指標,您可以使用

[(NSIndexSet *)[[change allValues] lastObject] lastIndex];