这行代码是否正确重新进行内存管理(重新复制NSDate)?
我有一个属性类:
@property (nonatomic, retain) NSDate* start;
@property (nonatomic, retain) NSDate* coreWeStart;
现在在init方法中,假设已经设置了self.start,这是否正确将coreWeStart设置为相同的日期:
self.coreWeStart= [[self.start copy] autorelease];
请仔细检查我的理解:
感谢
答案 0 :(得分:1)
我会说,但它仍然可以做得更好。具体来说,你可以这样做:
@property (nonatomic, copy) NSDate* coreWeStart;
......然后:
self.coreWeStart = self.start;
...用更少的代码来获得同样的东西。另外,请务必在dealloc(以及self.coreWeStart = nil
)中执行self.start = nil
。
答案 1 :(得分:1)
是的。你说对了。
因此,您的对象具有 coreWeStart 属性,其保留计数为1,这是 start 属性的副本。