Ios 我应该在哪个ViewController上实现FacebookSDK';谁是移动观察者?
我正在我的应用程序中实现facebook的iOS SDK。但是,有两个功能用于注册和注销通知: 发件人: 在viewdiload方法中,通过将以下代码添加到方法末尾,注册在应用程序委托中定义的会话更改通知: [[NSNotificationCenter defaultCenter]Ios 我应该在哪个ViewController上实现FacebookSDK';谁是移动观察者?,ios,xcode,facebook,Ios,Xcode,Facebook,我正在我的应用程序中实现facebook的iOS SDK。但是,有两个功能用于注册和注销通知: 发件人: 在viewdiload方法中,通过将以下代码添加到方法末尾,注册在应用程序委托中定义的会话更改通知: [[NSNotificationCenter defaultCenter] addObserver:self 选择器:@selector(sessionStateChanged:) 名称:FBSessionStateChangedNotification 对象:无] 及 通过在didRece
addObserver:self
选择器:@selector(sessionStateChanged:)
名称:FBSessionStateChangedNotification
对象:无]强> 及 通过在didReceiveMemoryWarning方法的末尾添加以下代码来注销通知: [[NSNotificationCenter defaultCenter]移除观察者:self]强> 由于我有相当多的视图控制器,而且它们都应该使用facebook的API,我认为我应该在应用程序IDFinishLoadingWithOptions中实现注册/取消注册方法(对于
注册
通知)
但是我不确定是否应该以及如何实现取消注册
的removeObserver命令,因为ApplicationIDReceiveMemoryWarning对于AppDelegate不可用
- DidReceiveMemoryWarning正在访问应用程序的所有ViewController吗李>
- 仅在我的一个ViewController中注销是否足够
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self
selector:@selector(whatever:)
name:UIApplicationDidReceiveMemoryWarningNotification
object:nil];
尽管如此,在我看来,删除记忆警告中的观察者是不合适的。你会在什么时候恢复它?但是,嘿,如果这是Facebook推荐的…gosh,我没有在文档中找到didReceiveMemoryWarning函数,因为有一个最愚蠢的错误(match case是开着的!):D所以这是一个很好的观点。为什么删除该函数中的通知不是一个好主意?如果在加载视图时开始观察通知,那么我假设该视图需要它。如果在视图可见时移除观察者,那么这很奇怪,因为正如我所说的,视图需要它。。。