objective-c - 我应该把 removeObserver 放在 AppDelegate.m 的什么地方,ios

标签 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 中,但不确定这是不是一个好方法。

问题

Is it a good place to place this method in.

我只是想确保我做的是正确的方式。如果问题不合适,请不要投票。请告诉我。谢谢

最佳答案

非常合适。您的监听器在应用启动时创建,因此应在应用退出时销毁。

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

关于objective-c - 我应该把 removeObserver 放在 AppDelegate.m 的什么地方,ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12710956/

相关文章:

ios - 如何使用 Core graphics 更改 UITableViewCell 的背景颜色

objective-c - iOS:如何让一个小 View 在多个 View 中可见,而不在每个 View 中初始化它?

ios - 无法从解析代码块中获取数组 PFQuery 对象

ios - 无法解决错误 : Unable to resolve module `./node_modules/react-native/packager/src/components` React Native

ios - NSNotificationCenter 使我的应用程序崩溃

ios - 如何将+作为NSString直接转换为加法运算符?

objective-c - Objective C : Names, 绑定(bind)和范围

ios - Storyboard没有显示我的组件?

ios - 如何在 swift 3.0 中使用 NotificationCenter 和在 swift 2.0 中使用 NSNotificationCenter 传递数据?

ios - 为什么当键盘隐藏时整个 View 会跳起来?