nic*_*ick 9 nsnotificationcenter viewdidunload swift
我已经阅读了很多关于正确的地方调用.removeObserver for NSNotificationCenter的建议,因为viewDidUnload不是一个选项.
我只是想知道Swift中的新deinit()是否是一个不错的选择?
-缺口
Kee*_*nle 10
它实际上取决于您订阅NSNotificationCenter通知的类的角色.如果您订阅:
的UIView
然后,一旦视图对用户不可见,您应该取消订阅.在用户看不到视图时节省CPU周期而不消耗资源.
的UIViewController
在这里,它还取决于您将响应通知而执行的操作类型.如果只是一个UI调整,您应该在视图控制器从屏幕上消失后立即取消订阅.
你的应用服务层
这里可以有.removeObserver内部deinit().但即使在这里,我倾向于建议您更明确地订阅和取消订阅NSNotificationCenter通知,并将它们放入服务的启动和停止方法.
| 归档时间: |
|
| 查看次数: |
4046 次 |
| 最近记录: |