我应该在dealloc中发布实例变量和属性吗?

时间:2012-03-02 13:29:34

标签: objective-c ios cocoa-touch memory-management ios5

根据Apple关于View Controller Lifecycle的文档,我注意到关于dealloc方法的以下内容:

  

重写此方法只是为了执行您的最后一分钟清理   查看控制器类。存储在实例变量和中的对象   属性自动释放;你不需要释放它们   明确。

我一直被教导要在我的视图控制器的dealloc方法中调用我拥有的实例变量和属性。

我所知道的唯一例外是使用ARC但在本文档中没有提到ARC。

这是对的吗?

2 个答案:

答案 0 :(得分:9)

由于你发布的指南最近更新了,我很确定它假设你正在使用ARC(如果可能的话,你应该这样做)。

你是对的,在ARC之前,你必须在dealloc方法中释放你的实例变量(你可以在App-Delegate的dealloc中看到旧的XCode模板)。使用ARC时,会自动处理(如本指南所述),因此除了特殊需要外,不再使用dealloc方法。

答案 1 :(得分:2)