【问题标题】:KVO on adding/removing objects through NSArrayControllerKVO 关于通过 NSArrayController 添加/删除对象
【发布时间】:2014-01-22 23:41:38
【问题描述】:

当通过 NSArrayController 添加/删除对象时,如何获得通知?

我尝试了类似的东西

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

我确实收到了有关已添加或删除某些内容的通知,但我不知道是哪个对象,也不知道已完成什么(删除或添加)。

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

【问题讨论】:

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


    【解决方案1】:

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

    @property (retain) NSMutableArray *array;
    
    [self addObserver:self forKeyPath:@"array" options:NSKeyValueObservingOptionNew context:NULL];
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多