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 PROTECTED]> 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 (Cocoa-dev@lists.apple.com)
>
>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:
>http://lists.apple.com/mailman/options/cocoa-dev/gerard_iglesias%40mac.com
>
>This email sent to [EMAIL PROTECTED]
>
>
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to