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