Это считается типичным
- (id)init {
self = [super init];
if (self) {
// <#initializations#>
}
return self;
}
, но не лучше ли было бы пойти с чем-то вроде этого, которое действительно отвечает соответствующим образом?
- (id)init {
self = [super init];
if (self) {
// <#initializations#>
} else {
@throw [NSException exceptionWithName:NSInternalInconsistencyException reason:@"you think your constructor is executing, but it's not"] userInfo:nil]
}
return self;
}
Следствие к вопрос в том, «при каких условиях [super init]
вернет nil
и не следует ли вам обрабатывать это в методе init
? ] "