[英]Where should I remove a notification observer?
我在视图控制器的init
方法中设置了一个通知观察器,如下所示:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(saveState)
name:UIApplicationWillResignActiveNotification
object:nil];
调用removeObserver:name:object:
的最佳位置在removeObserver:name:object:
用于此通知。 我现在用dealloc
方法调用它,但想知道这是否会导致问题。
不,你做对了。 dealloc
是删除通知观察者的正确位置(除非您有一些特定的理由需要先删除观察者)。
您始终可以在viewWillDisappear:
删除观察者viewWillDisappear:
或者当您完成使用它并且没有其它需要时,可以将其放在函数中。
如果-saveState只需要在活动时执行一次,那么您可以在-saveState中删除Observer。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.