确实将对象设置为零,导致其属性释放

问题描述:

如果我设置了一个对象,将视图控制器设置为零,它的属性(如按钮和标签)是否也会在ARC下发布?如果这些属性的类型很强并且分配,会发生什么?另外,当不使用ARC时,在我的delloc方法中,我是否只发布保留类型属性?确实将对象设置为零,导致其属性释放

您应该阅读这个Apple Memory Management documentation

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

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

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