【发布时间】:2011-02-02 11:14:38
【问题描述】:
iOS 文档说您的视图控制器应该释放(并且为零,因为这是很好的做法,实际上是 2.x 兼容性的必要条件)-dealloc 中保留的所有出口。
文档还说,如果您希望在视图不可见且发出内存警告时清理它们,您应该在 -viewDidUnload 中对您的 outlet 执行相同操作。
我想知道两件事:
- 这是否意味着我应该复制所有出口发布代码?把它全部放在 -dealloc 和 -viewDidUnload 中?维护起来真的很痛苦,而且很容易忘记!
- 我是否保证在 -viewDidUnload 后重新加载视图时会重新填充我的所有插座,包括在我的笔尖中引用非视图对象的插座?
理想的答案回答了上述两个问题,如果在 -dealloc VS -viewDidUnload 中应该以最佳方式释放哪些属性之间存在区别,请详细阐明这种区别。
【问题讨论】: