• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Best practice for overridden initializers in subclasses
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Best practice for overridden initializers in subclasses


  • Subject: Re: Best practice for overridden initializers in subclasses
  • From: Quincey Morris <email@hidden>
  • Date: Tue, 25 Mar 2008 16:06:03 -0700


On Mar 25, 2008, at 15:01, Andy Klepack wrote:

I have a subclass of NSObject that provides its own designated initializer that allows client code to configure an instance with initial values. Instances of the class itself are immutable. At the same time, instances where no initial values are supplied do not make conceptual sense.

I'm wondering how to deal with overriding the 'init' method of NSObject. There's really no sensible default values that I could have init pass along to my designated initializer. It doesn't make sense for clients to call 'init' and I'm debating whether to return nil, throw some sort of exception, make the instance 'dead' and essentially do nothing, or to do something else..

Anyone have a recommendation for the best practice in this case?
-Andy

I don't know about best, but the *shortest* is:

- (id) init {
	[super init];
	return nil;
}

or (if you're so retro as to still be doing retain/release):

- (id) init {
	[[super init] release];
	return nil;
}

If you're not writing the client code yourself, throwing an exception might be a bit more useful, though.
_______________________________________________


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


References: 
 >Best practice for overridden initializers in subclasses (From: Andy Klepack <email@hidden>)

  • Prev by Date: Re: Garbage collection - was Beginner with Cocoa
  • Next by Date: Re: Best practice for overridden initializers in subclasses
  • Previous by thread: Best practice for overridden initializers in subclasses
  • Next by thread: Re: Best practice for overridden initializers in subclasses
  • Index(es):
    • Date
    • Thread