Re: Trying to understand -- please help...
Re: Trying to understand -- please help...
- Subject: Re: Trying to understand -- please help...
- From: "Hank Heijink (Mailinglists)" <email@hidden>
- Date: Wed, 21 May 2008 12:28:35 -0400
On May 21, 2008, at 12:05 PM, john darnell wrote:
- (id) init
{
cityArray = [[NSArray alloc] init];
NSString *c0 = @"New York"; //Ten NSString objects created here
...
NSString *c9 = @"Virginia Beach";
cityArray = [NSArray arrayWithObjects: c0, ...c9, nil];
return self;
}
Here's your problem. First, you allocate and initialize the cityArray
with an empty NSArray (not very useful, since you can't add items to
an NSArray). Then, you leak that allocated memory by setting cityArray
to an autoreleased NSArray - this is the one that's going to disappear
when you exit the method. You should replace your method by something
like this:
- (id) init
{
NSString *c0 = @"New York"; //Ten NSString objects created here
...
NSString *c9 = @"Virginia Beach";
cityArray = [[NSArray alloc] initWithObjects: c0, ...c9, nil];
return self;
}
You can also dispense with the NSString objects by inserting the
string constants in the array itself:
cityArray = [[NSArray alloc] initWithObjects: @"New York", ...,
@"Virginia Beach", nil];
Hope this helps!
Hank
_______________________________________________
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