我应该在哪个ViewController上实现FacebookSDK的removeObserver?

我在我的应用中实现了Facebook的iOS SDK。 但是有两种功能应该注册和注销通知:

从Facebook的登录到iOS的Facebook:

viewDidLoad方法中,通过将此代码添加到方法的末尾来注册您在应用程序委托中定义的会话更改通知:

[[[NSNotificationCenter defaultCenter]]
的addObserver:自
选择:@选择(sessionStateChanged :)
名称:FBSessionStateChangedNotification
对象:无];

通过将以下代码添加到didReceiveMemoryWarning方法的末尾来取消注册通知:

[[NSNotificationCenter defaultCenter] removeObserver:self];

由于我有很多视图控制器,他们都应该使用Facebook的API,我想我应该在applicationDidFinishLoadingWithOptions中实现注册/取消注册方法(用于register通知)

但我不确定是否以及如何实现unregister的removeObserver命令,因为applicationDidReceiveMemoryWarning 不适用于AppDelegate。

  • DidReceiveMemoryWarning是否访问了应用程序的所有viewController?
  • 仅在我的一个viewControllers中取消注册就足够了吗?

  • 应用程序委托确实收到内存警告:

    http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

    如果没有,另一种选择是使用通知中心:

    NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
    [center addObserver:self
               selector:@selector(whatever:)
                   name:UIApplicationDidReceiveMemoryWarningNotification
                 object:nil];
    

    这一切都表示,在我看来,删除内存警告观察员是不合适的。 你会在什么时候恢复它? 但是,嘿,如果这是Facebook的建议...

    链接地址: http://www.djcxy.com/p/66719.html

    上一篇: On which ViewController should I implement FacebookSDK's removeObserver?

    下一篇: How to control the mouse in Mac using Python?