正在释放财产

时间:2010-11-12 22:46:21

标签: iphone objective-c cocoa-touch memory-management

我有一个声明为:

的属性
@property(nonatomic,retain) DateClass *dateClass;

我有这段代码需要将新实例复制到其中:

//Do I need to release dateClass here first before assigning new instance?
self.dateClass = [self getOtherDateClass];

...
-(DateClass*) getOtherDateClass
{
  DateClass *dateClass = [[[DateClass alloc]init]autoRelease];

  return dateClass;         
}

我是否需要在将self.dateClass设置为自动释放的新实例或已经为我执行此操作的合成属性之前释放{{1}}?

1 个答案:

答案 0 :(得分:2)

没有。使用retaincopy声明的@property将为您释放旧对象,假设您正在使用该属性的合成setter。