【问题标题】:does setting an object to nil with ARC cause a release of its properties使用 ARC 将对象设置为 nil 会导致释放其属性吗
【发布时间】:2013-05-16 07:06:58
【问题描述】:

如果我设置一个对象,比如视图控制器为 nil,它的按钮和标签等属性也会在 ARC 下释放吗?如果属性的类型是 strong 和 assign 会发生什么?另外,当不使用 ARC 时,在我的 delloc 方法中,我是否只释放保留类型属性?

【问题讨论】:

    标签: ios automatic-ref-counting


    【解决方案1】:

    你应该阅读这个Apple Memory Management documentation

    基本上,这取决于。除非其他实例保留它,否则视图控制器将被释放。然后,当它被释放时,它的属性将被释放 - 除非有其他实例保留它们。

    如果您将这些属性引用的对象传递给另一个实例,或者(如果属性是某种UIView)您将它们添加为子视图(然后将它们添加到的视图),其他实例可能会保留这些引用将保留它们)。

    重要的是,如果您是所有者,您可以发布引用,如果您需要某些东西,您可以通过,保留它并在完成后释放它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-06
      • 1970-01-01
      • 2012-08-16
      • 2016-06-29
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2011-12-15
      相关资源
      最近更新 更多