• 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: [Foo new] vs [[Foo alloc] init]:
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • Subject: Re: [Foo new] vs [[Foo alloc] init]:
  • From: Gregory Weston <email@hidden>
  • Date: Fri, 15 Feb 2008 16:55:18 -0500

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:
This email sent to email@hidden


  • Follow-Ups:
    • Re: [Foo new] vs [[Foo alloc] init]:
      • From: Bill Bumgarner <email@hidden>
    • Re: [Foo new] vs [[Foo alloc] init]:
      • From: Adam P Jenkins <email@hidden>
  • Prev by Date: Re: [Foo new] vs [[Foo alloc] init]:
  • Next by Date: duplicate interface error
  • Previous by thread: Re: [Foo new] vs [[Foo alloc] init]:
  • Next by thread: Re: [Foo new] vs [[Foo alloc] init]:
  • Index(es):
    • Date
    • Thread