0

KVO が観察されているすべての値を保持している理由を理解しようとして、私は本当に苦労しています。

シナリオ: 弱い参照を持つ NSMutableArray があります。(保持と解放の両方に NULL を持つ CFArrayCreateMutable と Callback で設定します)。つまり、追加されたオブジェクトは決して保持/解放されません。

NSMutableArray の値を監視する NSArrayController があります。

しかし今では、NSMutableArray のすべてのオブジェクトも保持されます。なぜこれが起こっているのですか、どうすればこれを止めることができますか?

4

1 に答える 1

1

何かがこれらのオブジェクトを保持していることをどうやって知ることができますか? -retainCount を見ていませんよね?はいの場合、それをしないでください。

KVO の仕組みについて読むと、オブジェクトの観察を開始すると、舞台裏でいくつかのオブジェクトが作成されていることがわかります。KVO をうまく使用するために、これらのオブジェクトについて知ったり考えたりする必要はありません。実際、知っていることはあまりありません。もの。

于 2011-06-19T05:05:33.507 に答える