我应该在哪里把removeObserver放在AppDelegate.m,ios中

时间:2012-10-03 14:45:15

标签: objective-c ios nsnotificationcenter

我的AppDelegate类已注册特定通知,如下所示

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(applyThemeA:)
                                                     name:@"ThemeA"
                                                   object:nil];

    }

并且applyThemeA做了(只是不多)

- (void)appleThemeA:(NSNotification*)notification {
    NSLog(@"apply themeA");
}

我将removeObserver放在applicationWillTerminate中,但不确定这是一个好方法。

问题

  

这是放置此方法的好地方。

我只是想确保我做得对。如果问题不合适,请不要投票。请告诉我。感谢

1 个答案:

答案 0 :(得分:21)

这是完全合适的。应用程序启动时会创建您的侦听器,因此应在应用程序退出时销毁它。

从技术上讲,它并不是真的需要。当您的应用程序退出时,所有内容都将被销毁,包括监听器。