Должен ли я всегда отпускать себя, когда есть сбой внутри init, или я должен делать это только в том случае, если сначала инициализировал переменные экземпляра?
Иными словами, этот шаблон действителен? Есть ли время, когда я не должен отпускать себя внутри метода init, или я должен предположить, что если поток управления вступает в init, у меня есть как минимум счет сохранения 1?
- (id)init
{
if ((self = [super init]) == nil)
{
[self release];
return nil;
}
//do some init stuff
if (somethingFailed)
{
[self release];
return nil;
}
return self;
}