1

'addObserver'と次のバランスを取るための標準です。

[[NSNotificationCenter defaultCenter] removeObserver:self]

viewWillDisappearメソッドで?

たとえば、Data ManagerクラスによってNSURLConnectionイベントの結果を受信するように登録する場合、TabBarのさまざまなタブ(個別のコントローラー)によってトリガーされます。各コントローラーは、viewDidLoadで結果を受信することを「通知」されるように登録します。各コントローラーも登録を解除する必要がありますか?通知の名前:がすべて同じである場合、タブのビューが再び表示されるときに災害を引き起こす可能性があるようです??

4

1 に答える 1

4

すべてのaddObserverには、removeオブザーバーが必要です。オブザーバーがすでに追加されている場合は、オブザーバーを追加しないように十分に注意する必要があります。たとえば、viewDidAppearでは、オブザーバーを何度も追加すると、オブザーバーセレクターが何度も呼び出されます。

正直なところ、あなたが説明する例から、デリゲートプロトコルを検討する必要があります。ここでそれを参照してください:

http://mobiledevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html

于 2012-05-05T21:50:43.900 に答える