iPhone 方法问题 (dealloc an viewDidUnload)

标签 iphone objective-c ios iphone-sdk-3.0 ios4

我一直在开发一个应用程序,我读的书说将这些语句放入 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/

相关文章:

iphone - UIImagePNGRepresentation 慢还是我做错了什么?

ios - 如何查找使用 AVCaptureVideoDataOutput 录制的视频的持续时间

iphone - 如何将 iPhone 应用程序与_every_ 文件类型相关联?

ios - 如何在 iPhone 上实现自定义键盘弹出

ios - 如何从自定义 TableViewCell 访问 ViewController 的 navigationController

ios - iPhone 模拟器 watch 应用程序图标丢失?

iphone - 在 bundle 中找不到名为 'Main' 的 Storyboard

iphone - 如何在默认日历和自定义日历中设置背景图像

ios - GameCenter 登录屏幕 - 取消按钮按下事件

iphone - 当 NSOperationQueue 完成所有任务时获取通知