KVO通过NSArrayController添加/删除对象

时间:2014-01-22 23:41:39

标签: objective-c cocoa key-value-observing nsarraycontroller

如何通过NSArrayController添加/删除对象时收到通知?

我试过像

这样的东西
    [core addObserver:self forKeyPath:@"arrangedObjects" options:0 context:nil];

我确实收到添加或删除的内容的通知,但我不知道哪个对象,我不知道已经做了什么(删除或添加)。

change的{​​{1}}字典不会返回任何有用的信息。

1 个答案:

答案 0 :(得分:1)

我会将NSMutableArray绑定到NSArrayController的contentArray并观察它。

@property (retain) NSMutableArray *array;

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

要获取更改的索引,您可以使用

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