Re: Convience Methods and Collections
Re: Convience Methods and Collections
- Subject: Re: Convience Methods and Collections
- From: Andy Lee <email@hidden>
- Date: Fri, 30 Mar 2007 11:32:59 -0400
What is rootNode? Is it a Cocoa class, or your own class? If it is
a Cocoa class, it follows the memory management rules, so you
shouldn't be having this problem unless you are explicitly and
prematurely releasing the NSArray.
If rootNode is your own class, does it have a setter method for the
"children" property? If so, is it following proper memory management
rules (in particular, retaining the new value for that property)?
As has been mentioned, [NSArray
arrayWithObjects:devices,folders,playlists,nil] returns an
autoreleased object -- maybe that's the only hint you really needed...
--Andy
On Mar 30, 2007, at 11:14 AM, 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:
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:
This email sent to email@hidden