• 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: Stupid objective-c question
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Stupid objective-c question


  • Subject: Re: Stupid objective-c question
  • From: Jeff Evans <email@hidden>
  • Date: Wed, 21 Sep 2016 21:47:22 -0700

Ah - yes, thank you.  Of course, so [[NSArray alloc]init] is actually useless; I hadn't thought of that. No one would ever declare an array that way.
One would have to init it with objects to be useful at all, and then it presumably would point to different data than another NSArray (even nonmutable) inited with objects.

Jeff


On Sep 21, 2016, at 9:33 PM, Jens Alfke wrote:


> On Sep 21, 2016, at 9:19 PM, Jeff Evans <email@hidden> wrote:
>
> 	Is it really true what Jens says,  that [[NSArray alloc]init] always returns the same pointer?
> 	If that is the case, how can one declare two separate arrays?

NSArray is immutable, so any two empty NSArrays are equal/identical.
Now, _mutable_ arrays are different — every call to [[NSMutableArray alloc] init] returns a new instance.

The same thing is true of other immutable Foundation classes like NSDictionary, NSString and NSNumber, so you’ll see the same optimization for e.g. short strings and small integers. (In fact, the latter two are now implemented using magic tagged pointers that don’t allocate memory at all!)

—Jens


_______________________________________________

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: Stupid objective-c question
      • From: Quincey Morris <email@hidden>
    • Re: Stupid objective-c question
      • From: Jens Alfke <email@hidden>
References: 
 >Stupid objective-c question (From: Gabriel Zachmann <email@hidden>)
 >Re: Stupid objective-c question (From: Graham Cox <email@hidden>)
 >Re: Stupid objective-c question (From: Quincey Morris <email@hidden>)
 >Re: Stupid objective-c question (From: Graham Cox <email@hidden>)
 >Re: Stupid objective-c question (From: Jens Alfke <email@hidden>)
 >Re: Stupid objective-c question (From: Jeff Evans <email@hidden>)
 >Re: Stupid objective-c question (From: Jens Alfke <email@hidden>)

  • Prev by Date: Re: Stupid objective-c question
  • Next by Date: Re: Stupid objective-c question
  • Previous by thread: Re: Stupid objective-c question
  • Next by thread: Re: Stupid objective-c question
  • Index(es):
    • Date
    • Thread