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

tra*_*uan 12 objective-c nsnotificationcenter ios

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

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

    {

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

    }
Run Code Online (Sandbox Code Playgroud)

并且applyThemeA做(只是不多)

- (void)appleThemeA:(NSNotification*)notification {
    NSLog(@"apply themeA");
}
Run Code Online (Sandbox Code Playgroud)

我将removeObserver在applicationWillTerminate,但不能确定它是它的一个好办法.

题

这是放置此方法的好地方吗?

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

Cyr*_*lle 21

这非常合适.应用程序启动时会创建您的侦听器,因此应在应用程序退出时销毁.

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