0

バインディングを使用してNSTableviewに新しい行を追加しようとしています。過去の投稿によると、私はアレイコントローラにaddObjectを指示され、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

を私はまだKVOへの新たなんだけど、私がやってしまったことは、私の追加ボタンのためにIBOutletを作成し、私のNSMutable配列内の新しいオブジェクトの追加を実施しました。私は[self willchangeValueforKey]と[self didChangeValueForKey]を実装し、すべてがうまくいくように見えました。なぜ私のarrayControllerがKVOに準拠しているのかが分かりません。 – Axwack

関連する問題