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只需要在活动时执行一次,那么您可以在-saveState中删除Observer 。

于 2011-01-14T01:46:51.813 回答