Я не знаю, как исправить утечку - PullRequest
2 голосов
/ 11 января 2010

Как мне исправить утечку здесь?

-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {   
if(searching){      
    return nil;
}

NSMutableArray *tempArray = [[NSMutableArray alloc] init];
[tempArray addObject:UITableViewIndexSearch];
[tempArray addObject:@"A"];
[tempArray addObject:@"B"];
[tempArray addObject:@"C"];
[tempArray addObject:@"D"];
[tempArray addObject:@"E"];
[tempArray addObject:@"F"];
[tempArray addObject:@"G"];
[tempArray addObject:@"H"];
[tempArray addObject:@"I"];
[tempArray addObject:@"J"];
[tempArray addObject:@"K"];
[tempArray addObject:@"L"];
[tempArray addObject:@"M"];
[tempArray addObject:@"N"];
[tempArray addObject:@"O"];
[tempArray addObject:@"P"];
[tempArray addObject:@"Q"];
[tempArray addObject:@"R"];
[tempArray addObject:@"S"];
[tempArray addObject:@"T"];
[tempArray addObject:@"U"];
[tempArray addObject:@"V"];
[tempArray addObject:@"W"];
[tempArray addObject:@"X"];
[tempArray addObject:@"Y"];
[tempArray addObject:@"Z"];

return tempArray;
}

Любая помощь будет оценена.

Sam

Ответы [ 2 ]

5 голосов
/ 11 января 2010

Вы должны возвращать автоматически выпущенный объект:

return [tempArray autorelease];
0 голосов
/ 11 января 2010

Когда вы получите temparray, отпустите его, позвонив по номеру

.
[#<your var># release];

чтобы решить вашу утечку. Авто-релиз будет работать, но вам нужно будет установить пул NSAutoRelease и истощить его после того, как вы это сделаете, чтобы предотвратить фактическую утечку (так как единственный пул автоматического выпуска находится в main () в начале, поэтому программа не будет освобождаться до тех пор, пока программа все равно закрывается).

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