The class method new is the same as alloc/init although by implementation, it may be faster if the class doesn't need to pass a placeholder object from alloc—some classes do that. The class method array is much like alloc/init/autorelease in the MRC days although it may coalesce things, but that's an implementation detail you as a user shouldn't be too concerned about.
The biggest cause for concern is if you're writing this code in MRC vs ARC since you'd have to manage these memory points yourself. -- Gary L. Wade (Sent from my iPhone) http://www.garywade.com/ > On Aug 16, 2016, at 7:42 AM, Alex Zavatone <z...@mac.com> wrote: > > I sent this out this morning but it got eaten, so this is a resend. Sorry if > it gets to some of you twice. > > > > Yes, I know about literals, but I have a different question here. > > > Is this safe? > > I have seen this in some code in our codebase: > array = [NSArray new]; > > I'm familiar with using the public method from the NSArray header and what > the docs say to use: > or array = [NSArray array]; > > Is there any risk to using [NSArray new] to init an array instead of [NSArray > array]?? > > I'm surprised to see this being used in our codebase and would like to make > sure we are not destroying the universe by using it. > > Thank you in advance. > - Alex Zavatone > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com