Проблема при удалении аллобъектов, используемых с nsmutablearray - PullRequest
0 голосов
/ 10 июня 2011
    aryDesc = [[NSMutableArray alloc]init]; 
    NSMutableArray *ary_Temp ;
ary_Temp = [[NSMutableArray alloc]init ];
[ary_Temp addObject:@"Collins Burns"];
[ary_Temp addObject:@"cburns"];
[ary_Temp addObject:@"Active"];


    [aryDescListing addObject:ary_Temp];
[ary_Temp removeAllObjects];


[ary_Temp addObject:@"Collins Burns"];
[ary_Temp addObject:@"cburns"];
[ary_Temp addObject:@"Active"];


[aryDescListing addObject:ary_Temp];
    [ary_Temp removeAllObjects];

    NSLog(@"ary Description===== >>>%@",aryDescListing);

Мой код такой же, как и выше. Я получаю два объекта в журнале, но оба они пустые. Я не знаю, использовать ли удалить все объекты или использовать dealloc для ary_Temp. Должен ли я использовать removeAllobjects или размещать его каждый раз после добавленияaryDescListing.

Спасибо

1 Ответ

1 голос
/ 10 июня 2011

Не используйте dealloc, вместо этого используйте release. dealloc освободит объект без учета количества его сохраняемых объектов и рано или поздно сломает ваше приложение.

Может быть, вы хотите этого? :

aryDesc = [[NSMutableArray alloc] init]; 
NSMutableArray *ary_Temp ;

ary_Temp = [[NSMutableArray alloc] init];
[ary_Temp addObject:@"Collins Burns"];
[ary_Temp addObject:@"cburns"];
[ary_Temp addObject:@"Active"];
[aryDescListing addObject:ary_Temp];
[ary_Temp release];

ary_Temp = [[NSMutableArray alloc] init];
[ary_Temp addObject:@"Collins Burns"];
[ary_Temp addObject:@"cburns"];
[ary_Temp addObject:@"Active"];
[aryDescListing addObject:ary_Temp];
[ary_Temp release];

NSLog(@"ary Description===== >>>%@",aryDescListing);

Кстати: removeAllObject удалит объекты из массива (и уменьшит их retainCount на один), но не освободит массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...