【问题标题】:Should I release instance variables and properties in dealloc?我应该在 dealloc 中释放实例变量和属性吗?
【发布时间】:2012-03-02 13:29:33
【问题描述】:

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

仅覆盖此方法以执行任何最后一分钟清理您的 视图控制器类。存储在实例变量中的对象和 属性自动释放;你不需要释放它们 明确的。

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

我知道的唯一例外是在使用 ARC 时,但它没有在本文档中提及 ARC。

这对吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 想法很多,但文档不清楚。我正在使用在引入 ARC 之前构建的代码。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 2017-03-31
      相关资源
      最近更新 更多