我正在爲我的應用程序實施Facebook的iOS SDK。然而,有兩個函數,都應該註冊和註銷的通知:我應該在哪個ViewController上實現FacebookSDK的removeObserver?
從Facebook's login to facebook with ios:
在 viewDidLoad中方法,註冊您的應用程序委託中加入定義會話更改通知此代碼到方法的結束:
[[NSNotificationCenter defaultCenter]
的addObserver:自
選擇:@selector (sessionStateChanged :)
name:FBSessionStateChangedNotification
object:nil];
和
註銷對於通過添加以下代碼到didReceiveMemoryWarning所述方法結束時的通知:
[[NSNotificationCenter defaultCenter] removeObserver:自];
因爲我有好幾個視圖控制器和所有的人都應該使用Facebook的API,我想我應該實現(用於register
的通知)
在applicationDidFinishLoadingWithOptions登記/註銷方法但我不知道是否以及如何實施unregister
的removeObserver命令,因爲對於AppDelegate,applicationDidReceiveMemoryWarning爲不可用。
- DidReceiveMemoryWarning是否訪問應用程序的所有viewControllers?
- 僅僅在我的一個viewControllers中取消註冊就足夠了嗎?
gosh,我沒有找到didReceiveMemoryWarning函數在文檔中,因爲最糟糕的錯誤(匹配情況是!):D所以這是一個偉大的觀點。爲什麼在該功能中刪除通知不是一個好主意? – Ted
那麼,如果你開始觀察視圖加載時的通知,那麼我認爲該視圖需要它。如果你在視圖可見的時候刪除了觀察者,那很奇怪,因爲正如我所說的那樣,視圖需要它...... – tarmes