【发布时间】:2011-01-28 21:20:01
【问题描述】:
当 init 内部出现故障时我应该总是释放 self,还是应该只在我首先初始化实例变量时才这样做?
换句话说,这种模式有效吗?是否有一段时间我不应该在 init 方法中释放 self,或者我应该假设如果控制流进入 init,self 的保留计数至少为 1?
- (id)init
{
if ((self = [super init]) == nil)
{
[self release];
return nil;
}
//do some init stuff
if (somethingFailed)
{
[self release];
return nil;
}
return self;
}
【问题讨论】:
标签: objective-c cocoa memory init