[英]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.