Re: [self init] vs. [super init] in initWithCoder
Re: [self init] vs. [super init] in initWithCoder
- Subject: Re: [self init] vs. [super init] in initWithCoder
- From: Jim Correia <email@hidden>
- Date: Fri, 18 Aug 2006 07:50:38 -0400
On Aug 17, 2006, at 11:39 PM, Greg Hurrell wrote:
init and initWithCoder are two different pathways for initializing
an object. They're independent and I don't think one should call
the other, and I've never felt the need to. I think this is
explained fairly well in the docs. But sometimes there are things
that you would want to do in both cases, and for that reason I
often use this pattern:
- (void)commonInit
{
// stuff that is common to both init and initWithCoder:
}
The limitation with using such a generic method name as -commonInit
for your class's common private initialization is that no one else in
the class hierarchy can use that same method name without unintended
side effects.
Since this is an unacceptable limitation, and since it isn't
necessary that the private common initializer have a "pretty" method
name, an easy out is to just give it an ugly, unique name, based on
the class name:
- (void)MyFanceWidget_commonInit
{
}
Jim
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden