ダグ-説明には、自分が何をしているのか、問題にKVOを適用するのに最適な方法(または適切な場合)を知るのに十分な情報がありません。
KVOは、オブジェクトのプロパティを監視することを目的としています。それらが破壊される前にそれらを観察するのをやめなければならない場合を除いて、通常、それらがいつ作成または破壊されるかを気にする必要はありません。
代わりに、オブジェクトが興味を持ったときに、オブジェクトの観察を開始および停止する必要があります。ドキュメントに図形の順序付けられた配列があり、各図形のbackgroundColorプロパティを観察することに関心があるグラフィックス描画パッケージについて考えてみます。
Shapeインスタンスのインスタンス化と割り当て解除を監視しようとはしませんが、代わりにドキュメントの「shapes」プロパティを監視します。そのオブザーバーを通じて、図形がドキュメントに追加されたとき、またはドキュメントから削除されたときを判断できます。ドキュメントに図形が追加されると、それを観察し始めます。ドキュメントから削除されると、監視を停止します。(元に戻るスタックにある場合など、ドキュメントから削除される可能性がありますが、割り当てが解除されないことに注意してください。)
モデルのオブジェクトグラフで、KVOを使用するには、KVOに準拠した方法でオブジェクトグラフにオブジェクトを追加および削除して、関係の変化を観察できるようにします。そのオブザーバーでは、プロパティオブザーバーを開始および停止します。関連するオブジェクト。