5

initビューコントローラのメソッドで次のように通知オブザーバを設定しました。

[[NSNotificationCenter defaultCenter] 
                    addObserver:self
                    selector:@selector(saveState)
                    name:UIApplicationWillResignActiveNotification
                    object:nil];

removeObserver:name:object:この通知を呼び出すのに最適な場所はどこですか。現在、deallocメソッドで呼び出していますが、問題が発生する可能性があるかどうかを知りたいと思いました。

4

3 に答える 3

8

いいえ、正解です。dealloc通知オブザーバーを削除する正しい場所です(以前にオブザーバーを削除する必要がある特別な理由がない限り)。

于 2011-01-13T21:43:10.030 に答える
1

でいつでもオブザーバーを削除できviewWillDisappear:ます。または、オブザーバーを使い終わって他に必要がない場合は、関数に配置できます。

于 2011-01-13T21:52:48.427 に答える
1

-saveStateがアクティブなときに1回だけ実行する必要がある場合は、-saveState内でObserverを削除できます。

于 2011-01-14T01:46:51.813 に答える