当我有像
这样的时候@property (nonatomic, retain) NSUrlConnection *connection;
当我第一次为属性分配变量时,它将被保留,但是当我将属性重新分配给新的NSUrlConnection时,我是否先释放属性并在之后重新分配?
[self.connection release];
self.connection = [........
我不使用ARC。
答案 0 :(得分:1)
不,这一切都是为你处理的。请参阅属性部分中的http://cocoadevcentral.com/d/learn_objectivec/。
答案 1 :(得分:1)
属性为您处理内存管理。在重新分配新值之前,无需释放它。如果你使用的是ivar,那就不一样了。
使用属性,您只需将其设置为nil
即可将其释放。当属性的retainCount达到0时,它会自动从内存中删除。