アたい削除する必要がオブジェクトから受信KVOお知らせするカテゴリー登録を直接解除のですか?
質問
がん登録オブジェクト foo 受KVOからのお知らせを別のオブジェクト バー (addObserver:...)すればそれを修復させようとするとエラーが foo 私に送る必要がある removeObserver:forKeyPath:
メッセージ バー in-dealloc?
解決
を使用する必要があり -removeObserver:forKeyPath:
削除の前にオブザーバー -[NSObject dealloc]
走であり、この -dealloc
方法を教えます。
以上がっていた、という決定的な点が何を所有するオブジェクトを行なっているのを見たいのですが、(う)する割.そのように、停止観察時にすぐにもやっている観測が不要になったとき、かにかかわらず、実は割.
これは重要なのがオブジェクトのココアをしていると思決定論式として一人でも思っているようです。各種Mac OS X制度そのものを ま お送り物 -retain
や -autorelease
, り、その寿命を超えていれだとは思います。
また、ときにしようとしていることがわObjective-Cのごみ収集すること -finalize
までも何度も非常に異なる文脈によ -dealloc
ました。一例を挙げると、確かに別のスレッドだっ できない 安全に送信 -removeObserver:forKeyPath:
別のオブジェクト -finalize
方法。
こだわりメモリ(およびその他の希少資源管理に -dealloc
や -finalize
, ご利用は別 -invalidate
方法においてオーナーに伝え、オブジェクトだったので、決定的なポイント、いように除去KVO観測である。の意図的なヘルプオーサリング-ツールが明確になりますの少ない微妙なバグをしていかなければなりません。
他のヒント
このプレゼンテーションも堂々と情報といった考:がNSNotificationCenterを用いてゼロ設定弱参照することができ、カナダ、中国、インドKVOはできません。このように逃げることができな削除NSNotificationCenterオブザーバー利用時のGC大阪大学未来戦略機構(retain/発売の、依然必要だオブザーバー)ですが、ださKVOのオブザーバーとしてのChrisい。
あいクリスの"こだわりメモリ(およびその他の希少資源の管理にdeallocとを決定..."コメントとなります。多くの倍んごうを無効にすNSTimer物をdeallocます。問題は、NSTimer保する。その場合、対象のNSTimerは、自己deallocまでというよりも潜在的に起きメモリ解放されます。
を無効にする -invalidate
いその他のメモリの清掃活動にお dealloc
や finalize.