Re: CFPreferences and init.
Re: CFPreferences and init.
- Subject: Re: CFPreferences and init.
- From: "Kyle Sluder" <email@hidden>
- Date: Sun, 26 Oct 2008 21:31:47 -0400
On Sun, Oct 26, 2008 at 7:39 PM, Adam R. Maxwell <email@hidden> wrote:
>
> On Oct 26, 2008, at 2:47 PM, Kyle Sluder wrote:
>
>> And I've already noticed a memory management error in my own code;
>> -setServers: leaks the old array. The first lines of the -setServers:
>> method should look like this:
>>
>> -(void)setServers:(NSArray *)newServers
>> {
>> NSArray *oldServers = servers;
>> servers = [[newServers copy] retain];
>> [oldServers release];
>>
>> // ... the rest of the method ...
>> }
>
> This still leaks, since you copy the parameter and then retain the copy.
Yes it does, because -copy implicitly retains the sender. My mistake.
(That's why we disclaim Mail-written code, after all!) So you can
remove the call to -retain:
-(void)setServers:(NSArray *)newServers
{
NSArray *oldServers = servers;
servers = [newServers copy];
[oldServers release];
// ... method continues...
}
--Kyle Sluder
_______________________________________________
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