Re: Memory management on returning nil in init
Re: Memory management on returning nil in init
- Subject: Re: Memory management on returning nil in init
- From: vincent habchi <email@hidden>
- Date: Mon, 21 Jun 2010 16:50:28 +0200
Le 21 juin 2010 à 16:43, Eiko Bleicher a écrit :
> One of my initializers can fail and thus it should return nil. Consider the following example:
>
> -(id) initWithBool:(BOOL)ok
> {
> if (self = [super init])
> {
> if (!ok) {
> return nil; // Point of interest
> }
> }
> return self;
> }
>
> Does this code leak? I am inclined to think I need to call [self release] before returning nil, but I am yet to see a piece of example code for this. Or is my approach stupid? :-)
What the point of the OK variable ?
You can call [self release] safely, since if self is nil, the message is just silently discarded. That's what I usually do.
Vincent_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden