也许这是一个不好的做法,但是从我阅读的文档中,我得到了在某些情况下在 viewDidLoad 方法中初始化对象并在 viewDidUnload 中将其设为 nil 的建议。
例如,如果您有添加观察者之类的东西
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(filterready:)
name:@"filterReady"
object:nil];
现在我没有删除观察者的方法,但是每次显示视图时都会调用 viewDidLoad,这会导致一段时间后运行多个观察者,然后多次调用选择器。
我可以通过将一些清洁器移入 viewDidDisappear 方法来解决这个问题,但现在我怀疑我是否做对了。
在我的示例中,我有多个控制其子导航的导航控制器,但从未为它们调用 dealloc,即使它们没有被引用