【发布时间】:2023-03-07 23:40:01
【问题描述】:
对于 UIViewController,哪些方法应该“释放”并设置为“nil”出口/实例变量?
我应该使用“viewDidUnload”和“dealloc”中的哪些方法:
- 类中的 outlet 或其他成员变量的“释放”,以及
- “xxx = nil”(即设置为 nil)在
【问题讨论】:
标签: iphone objective-c ios memory-management uiviewcontroller
对于 UIViewController,哪些方法应该“释放”并设置为“nil”出口/实例变量?
我应该使用“viewDidUnload”和“dealloc”中的哪些方法:
【问题讨论】:
标签: iphone objective-c ios memory-management uiviewcontroller
在 viewDidUnload 中,典型的做法是使用访问器将嵌入在视图控制器视图中的任何对象 - 按钮、视图、文本字段、可能位于视图层次结构中的 UIView 的任何后代都归零:
self.myButton = nil;
在 dealloc 中你应该直接释放所有保留的变量,包括子视图:
[myButton release];
[someStateObject release];
【讨论】:
我相信在-dealloc,你应该直接使用ivars;在其他情况下,例如 -viewDidUnload,您需要将属性设为 nil。
【讨论】: