我一直在开发一个应用程序,我读的书说将这些语句放入 viewDidUnload 和 dealloc 方法中。还有什么其他信息应该放在这里?我的程序中有按钮和标签。我需要为他们做些什么吗?
我想要一个高效运行的应用程序。
这是我的代码:
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
self.doublePicker = nil;
self.color = nil;
self.choice = nil;
[super viewDidUnload];
}
- (void)dealloc {
[doublePicker release];
[color release];
[choice release];
[super dealloc];
}
最佳答案
您应该只在 viewDidUnload 中释放您的 IBOutlets 和其他 UI 元素。您在 View Controller (以及 IBOutlets)中分配的所有其他数据都应该在 dealloc 方法中释放。这是因为 View 可以在 View Controller 的生命周期内多次加载和卸载。例如,如果 View 不可见,则可以将其卸载,但其背后的数据(在 View Controller 中)仍然需要保存在内存中。当不再需要 View 及其 Controller 时,会调用 dealloc 方法。
关于iPhone 方法问题 (dealloc an viewDidUnload),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4950109/