我在视图控制器的init
方法中设置了一个通知观察器,如下所示:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(saveState)
name:UIApplicationWillResignActiveNotification
object:nil];
此通知的最佳地点removeObserver:name:object:
。我目前正在使用dealloc
方法调用它,但想知道这是否会导致问题。
答案 0 :(得分:8)
不,你做对了。 dealloc
是删除通知观察者的正确位置(除非您有一些特定的理由需要先删除观察者)。
答案 1 :(得分:1)
您可以随时删除viewWillDisappear:
中的观察者,或者当您完成使用它并且没有其它需要时,您可以将它放在一个函数中。
答案 2 :(得分:1)
如果 -saveState 只需要在激活时执行一次,那么您可以在 -saveState 中删除Observer。