【发布时间】:2014-06-05 01:52:08
【问题描述】:
我看到一些代码
@property (nonatomic, readwrite, retain) id something;
他们合成了它:
@synthesize something = something_;
在构造函数中:
self.something = @"HELLO!";
我认为,上面的行有效地保留了该字符串。
但是,在他们的 dealloc 方法中,他们这样做:
[self setSomething:nil];
我想这很好,因为我想象当你将一个属性设置为 nil 时,旧的值就会被释放。但是后来,我注意到他们所做的所有其他课程都有类似
[something release];
相反,所以我不再确定。两种方式都正确吗?
【问题讨论】:
-
@raurora - 该线程非常古老,与 ARC 等无关。
-
self.something = nil;与 ARC 无关,retained与 ARC 无关。 -
您真正应该做的是切换到 ARC。说真的。
标签: ios objective-c