ios - 如果我希望它在整个应用程序生命周期内都存在,是否需要手动删除观察者?

标签 ios nsnotificationcenter observers

我的 NSNotification Observer 不仅仅针对某个 View 或 View Controller 。我希望它仅在用户关闭应用程序时被删除。我把“添加观察者”放在 AppDelegate 中。我是否仍然需要在 deinit 中手动删除它,或者它会在应用程序关闭时自动删除?

最佳答案

如果你想要通知某个 View Controller ,那么请添加 add observer 到那个特定的类,并在 viewDidDisappear 中添加 remove observer。 Ae看到你的情况,现在你已经在 app delegate 中添加了 add observer ,然后你可以根据你的要求在下面的方法中删除它。

- (void)applicationWillResignActive:(UIApplication *)application 
- (void)applicationDidEnterBackground:(UIApplication *)application
- (void)applicationWillTerminate:(UIApplication *)application

关于ios - 如果我希望它在整个应用程序生命周期内都存在,是否需要手动删除观察者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38299870/

相关文章:

ios - 将 UIImage 导出为 stretchableImage 导出带有在 Image 上绘制的水平线和垂直线的图像

ios - 如何从字符串中解析十进制而不丢失精度?

iOS触摸坐标系

ios - 通知中心值第一次、第二次没有更新

swift - 如何在 firebase 观察者路径中使用通配符?

ios - 将秒添加到 self.timepicker 日期(用于本地通知目的)

ios - 单击按钮时如何以编程方式 ScrollView

iOS:在扩展中从 NSNotificationCenter 返回值(swift)

java - 观察者设计不起作用

ios - Swift - 调用 .removeObserver 的正确位置总是 deinit() 吗?