Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Foo new] vs [[Foo alloc] init]:



Keith Duncan wrote:

As far as I understand, [Foo new] is exactly equivalent to [[Foo
alloc] init]

Correct.

Incorrect. Based on the documentation new (by default) does setup work analogous to alloc and then invokes init before returning the object. It does not actually use the alloc method, though, which means it's entirely possible for new to not be equivalent to an alloc/ init pair.


Chaining alloc and init is just the in vogue convention as far as I
know. I've been told that -new used to be a popular way of doing it
back in the days of NeXTStep.

It's more than just the 'in vogue convention' though. The point was to recognize that allocation and initialization are distinct actions and there's benefit in having them be separable. With alloc/init you can change one of the phases without concern for the other.
_______________________________________________


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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden


Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.