0

当我有一个像

@property (nonatomic, retain) NSUrlConnection *connection;

当我第一次将变量分配给属性时,它将被保留,但是当我将属性重新分配给新的 NSUrlConnection 时,我是否必须先释放该属性,然后再重新分配?

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

我不使用ARC。

4

2 回答 2

1

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

于 2012-10-11T13:38:43.323 回答
1

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

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

于 2012-10-11T13:46:07.813 回答