簡體   English   中英

我應該在哪里刪除通知觀察員?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM