NSArray Утечка памяти! Не удалось получить Почему? - PullRequest
0 голосов
/ 13 октября 2010

Привет, я получаю утечку памяти в приборах для следующей строки кода.

 NSArray *itemsList=[[NSArray alloc] initWithObjects:@"Love",
     @"Hate",@"Happy",@"Sad",
     @"Desire",@"Anger",@"Hope",@"Fear",@"Silly",nil];

Я использую следующий код: arrayList также освобождается в блоке dealloc.

NSArray *itemsList=[[NSArray alloc] initWithObjects:@"Love",@"Hate",
    @"Happy",@"Sad",@"Desire",
    @"Anger",@"Hope",@"Fear",@"Silly",nil];
self.arrayList=itemsList;
[itemsList release];

1 Ответ

1 голос
/ 13 октября 2010

Я предполагаю, что arrayList объявлено с использованием retain в операторе @property.Если нет, то это, безусловно, ваша проблема.

Если это так, то у вас есть утечка, но не в коде, который вы опубликовали.Важно понимать, что Приборы сначала показывают не обязательно, где произошла утечка, а где была выделена утечка памяти.Вы изучите остальную часть вашего использования arrayList и найдете, где у вас есть хранилище, в котором отсутствует версия.

Если вы нажмете на стрелку рядом с адресом памяти объекта в Инструментах, вы сможете увидеть везде, где ваш объект был сохранен и отпущен.Вам нужно будет просмотреть их и определить, в какой записи отсутствует версия.

...