何时释放具有属性retain的属性?

时间:2013-06-17 19:53:04

标签: ios objective-c cocoa

如果我正在创建一个属性为retain的属性

@property(nonatomic,retain)NSArray * array;

如果使用点运算符或setarray方法设置此属性,则此对象的保留计数将增加。请解释这个属性何时发布?或者我必须手动释放它。

如果我这样做

self.array = nil;

在类的dealloc方法中,这会减少保留计数吗?

1 个答案:

答案 0 :(得分:0)

每当设置到对象的强指针更改为指向nil时,它将减少引用计数。

如果您正在使用ARC,并且没有指向同一NSArray对象的其他强(或保留)指针,则只要将self.array设置为nil,就会释放对象。