如何注销所有的KVO

ARC中不能调[super dealloc],子类自定义dealloc方法的时候,怎么注销父类注册的所有KVO?

阅读 3.7k
2 个回答

这种就是谁是观察者,就在谁的dealloc中注销。父类KVO观察的属性,如果子类同样观察,则只在父类的dealloc中注销即可。

1 楼回答正解, 我推荐使用ReactiveCocoa, 这个框架对KVO进行了封装, 会自己removeObserver, 并且观察属性的时候还有提示,会减少很多代码,可以简单的当作KVO 封装框架使用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进