我習慣於在init方法中放置「[NSNotificationCenter defaultCenter] addObserver」。我已經看到很多其他人放入viewDidLoad。是否有任何指導或最佳實踐?最好的地方放在哪裏「[NSNotificationCenter defaultCenter] addObserver」
梁
我習慣於在init方法中放置「[NSNotificationCenter defaultCenter] addObserver」。我已經看到很多其他人放入viewDidLoad。是否有任何指導或最佳實踐?最好的地方放在哪裏「[NSNotificationCenter defaultCenter] addObserver」
梁
我會說老實說並不重要。我的觀點是,它最好在viewDidLoad中,但像@EricS所說,如果你想在視圖沒有顯示的時候得到通知,那麼這不會正常工作。所以,它真的只是取決於你喜歡如何使用它,當你希望收到這些事件的
兩個問題要問自己:
可以此通知時的UIViewController是INIT之間被解僱'編輯和它的視圖加載時?
如果可以在這些事件之間觸發通知,那麼對您的UIViewController狀態是否有影響?
這些問題將指導您調用addObserver中的哪個方法。除此之外沒有特別的「最佳做法」:
只在需要時傾聽。
在需要的地方使用它。一般來說,如果您的視圖(控制器)不可見,則不應該監聽來自其他對象的事件。 –
我更喜歡在init中執行它,然後在dealloc中刪除觀察者。在我們的例子中,我們希望我們的viewController即使在視圖沒有顯示時也能得到某些事件的通知,所以當視圖顯示數據已經存在時。 – EricS
我認爲最好的** viewDidLoad **並刪除** viewDidDisappear ** –