This is considered typical
- (id)init {
self = [super init];
if (self) {
// <#initializations#>
}
return self;
}
One reason, why you should do, what JustSid is saying:
In object-orientated design you should always code, as if you maybe will hand your class over to another project by another developer. So you can't assume, that a failure in initialization in his project may be as bad as it is probably in yours. Maybe this developer is you in 5 years. Imagine your hassle to fix your 200 classes, you want to reuse.