使用ARC将对象设置为nil会导致其属性的释放

时间:2013-05-16 07:06:58

标签: ios automatic-ref-counting

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

1 个答案:

答案 0 :(得分:1)

您应该阅读此Apple Memory Management documentation

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

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

重要的是,如果您是所有者,则会释放该引用,如果您需要通过某些内容,请保留并在完成后将其释放。