重新分配对象属性

时间:2012-10-11 13:34:46

标签: objective-c memory-management

当我有像

这样的时候
@property (nonatomic, retain) NSUrlConnection *connection;

当我第一次为属性分配变量时,它将被保留,但是当我将属性重新分配给新的NSUrlConnection时,我是否先释放属性并在之后重新分配?

[self.connection release];
self.connection = [........

我不使用ARC。

2 个答案:

答案 0 :(得分:1)

不,这一切都是为你处理的。请参阅属性部分中的http://cocoadevcentral.com/d/learn_objectivec/

答案 1 :(得分:1)

属性为您处理内存管理。在重新分配新值之前,无需释放它。如果你使用的是ivar,那就不一样了。

使用属性,您只需将其设置为nil即可将其释放。当属性的retainCount达到0时,它会自动从内存中删除。