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: Convience Methods and Collections



-[NSArray arrayWithObjects:] returns an autoreleased object. If you want it to remain after the autorelease pool snaps, retain the object returned by that method, or alloc/init an array instead.

http://www.google.com/search?q=cocoa%20memory%20management


-- m-s


On 30 Mar, 2007, at 11:14, Ryan Marsh wrote:

Hello All,

I apologize in advance for such a newbie question.
Why do objects created with convenience methods get auto-released when I add them to a collection?


This simple example from the init of an NSOutlineView datasource:

[rootNode setObject:[NSArray arrayWithObjects:devices,folders,playlists,nil] forKey:@"children"];

 The array will be released before the first time I call

[rootNode objectForKey:@"children"]

If I use [[NSArray alloc] initWithObjects:devices,folders,playlists,nil] then it works fine.

Thanks,
-ryan
_______________________________________________

Cocoa-dev mailing list (email@hidden)

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/mikey-san% 40bungie.org


This email sent to email@hidden

_______________________________________________

Cocoa-dev mailing list (email@hidden)

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
References: 
 >Convience Methods and Collections (From: Ryan Marsh <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.