クラスには、( 経由で) 合成されたアクセサーを持つ NSMutableArray 型のプロパティ (およびインスタンス var) があります@property
。以下を使用してこの配列を観察する場合:
[myObj addObserver:self forKeyPath:@"theArray" options:0 context:NULL];
そして、次のように配列にオブジェクトを挿入します。
[myObj.theArray addObject:NSString.string];
observeValueForKeyPath... 通知は送信されません。ただし、以下は適切な通知を送信します。
[[myObj mutableArrayValueForKey:@"theArray"] addObject:NSString.string];
これは、mutableArrayValueForKey
オブザーバーへの通知を処理するプロキシ オブジェクトを返すためです。
しかし、合成されたアクセサーは、そのようなプロキシ オブジェクトを自動的に返すべきではありませんか? これを回避する適切な方法は何ですか? を呼び出すだけのカスタム アクセサーを作成する必要があります[super mutableArrayValueForKey...]
か?