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