Re: What classes have -init?
Re: What classes have -init?
- Subject: Re: What classes have -init?
- From: Quincey Morris <email@hidden>
- Date: Wed, 10 Feb 2010 20:38:02 -0800
On Feb 10, 2010, at 12:23 PM, James Walker wrote:
> I think at times I've written things like [[NSMutableArray alloc] init] with no apparent ill effects, but now I notice that the docs for NSMutableArray and NSArray don't say that there is an init method. The NSObject docs say that an init method might raise an exception. Is there some other init rule that I've missed, or have I just gotten lucky?
It's worthwhile keeping this in mind:
http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/CocoaObjects.html#//apple_ref/doc/uid/TP40002974-CH4-SW3
Particularly:
"When you define a subclass you must be able to identify the designated initializer of the superclass and invoke it in your subclass’s designated initializer through a message to super. You must also make sure that inherited initializers are covered in some way."
Applying that [conceptually] to NSArray, say, there's no actual luck involved. If 'init' is a designated initializer, it should be documented in the class reference and there's no problem. If not, then NSArray *must* ensure that calling it results in one of its real designated initializers being called, *or* must produce an error._______________________________________________
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