Re: Trying to understand -- please help...
Re: Trying to understand -- please help...
- Subject: Re: Trying to understand -- please help...
- From: Gérard Iglesias <email@hidden>
- Date: Wed, 21 May 2008 09:34:58 -0700
Well
Something like this is standard :
- (id)init
{
if (!(self = [super init]))
return nil;
cityArray = [[NSArray alloc] initWithObjects:
@"New York"
...,
nil];
return self;
}
would work.
In fact in its original case, there would be a crash, because cityArray would point to a trashed pointer... I don't understand why it is not crashing.
Maybe du to a bad initialization because of the miss of [super init] ???
Gerard Iglesias
Le 21/05/08 à 18:31, "Hank Heijink (Mailinglists)" <email@hidden> a écrit :
>
>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
>
>
_______________________________________________
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