0

我想使用绑定将新行添加到NSTableview。根据以前的帖子,我被指示在数组控制器上添加对象,并且KVO应该处理通知给视图。然而,NSTableView绑定和观察者

我收到以下错误:

An -observeValueForKeyPath:ofObject:change:context: message was received but not handled. 
Key path: accountArray 
    Observed object: <AppDelegate: 0x10011e3b0> 
Change: { 
    indexes = "<NSIndexSet: 0x102915ba0>[number of indexes: 1 (in 1 ranges), indexes: (2)]"; 
    kind = 2; 
} 

我在我的应用程序委托添加此观察者:

[self addObserver:self forKeyPath:@"accountArray" options:0 context:@"myContext"]; 

我也试图实现observerValueforKeyPath但是当我调试我的代码从来没有达到这一点。

我在做什么错?

回答

0

您必须实现的方法:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 
+0

我还是新的志愿,但我落得这样做创建我的添加按钮一个IBOutlet和执行我的NSMutable阵列增加了一个新的对象。然后我实现了[self willchangeValueforKey]和[self didChangeValueForKey],一切似乎都奏效。我不知道为什么,但可能是因为我的arrayController已经符合KVO? – Axwack 2011-12-18 12:34:25