ios - 在 viewDidLoad 中注册通知

标签 ios viewdidload nsnotificationcenter

我正在 viewDidLoad 中注册通知。每次出现内存警告,是注册了多次还是已经注册iOS直接忽略了?如果有多个寄存器,避免这种情况的最佳做法是什么?如果是第一次执行 viewDidLoad,我想用一个 bool 值来处理,但我不确定这是否是一个好习惯。

提前致谢!

最佳答案

只需在 viewDidUnload 中注销它们 - 因为您可能会执行一些 UI 操作来响应通知,所以无论如何您都无法对卸载的 View 执行太多操作。

如果通知是针对 UI 以外的其他内容,那么您可能应该改为在构造函数中注册它们,或者更好的是,将它们移动到单独的非 UI 类中。

关于ios - 在 viewDidLoad 中注册通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274936/

相关文章:

ios - 在核心数据中添加相关实体会删除所有其他关系吗?

objective-c - MPMoviePlayerController 播放直播流

ios - 如何修剪视频文件并使用 Swift 转换为 20 秒视频?

ios - 自定义 uitableview 单元格未显示所有文本标签

ios - 无法在 iOS 应用程序中打开 Google map

objective-c - 在 PrepareForSegue 中设置属性对于 ViewDidLoad 为空,但稍后会更正

swift - 在模态 UIViewController 解除后 View 生命周期中更新 Controller 的位置

ios - 从堆栈中的下一个类错误地调用了 UIKeyboardWillShowNotification

ios - 如何设置本地通知每 48 小时通知一次用户?

iphone - 为什么 NSNotificationCenter 释放时会抛出异常?