Re: Stupid objective-c question
Re: Stupid objective-c question
- Subject: Re: Stupid objective-c question
- From: Jens Alfke <email@hidden>
- Date: Wed, 21 Sep 2016 21:33:58 -0700
> 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