2

我在 UIView 的一个子类上添加一个 KVO 观察者到它的一个子视图。我对子视图也有很强的参考。当我调用removeObserver中的子视图时dealloc,我可以假设子视图仍然存在吗?我不想泄露观察者。

基本上,当dealloc在ARC中调用时,自动调用是[super dealloc]在此调用之前还是之后?

4

2 回答 2

4

来自http://clang.llvm.org/docs/AutomaticReferenceCounting.html

一个类可以为名为 的实例方法提供方法定义 dealloc。此方法将release在对象的 final 之后但在它被释放或它的任何实例变量被销毁之前被调用。dealloc当方法返回时,将自动调用超类的实现。

so在[super dealloc]调用子类实现后调用。dealloc

于 2013-06-06T18:24:17.183 回答
0

对 [super dealloc] 的自动调用是“之后”。

您的强 ivars 在 dealloc 中仍然有效。

于 2013-06-06T18:24:47.680 回答