如何在这里修复泄漏?
-(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;
}
任何帮助将不胜感激。
萨姆
答案 0 :(得分:5)
您应该返回一个自动释放的对象:
return [tempArray autorelease];
答案 1 :(得分:-4)
当你得到temparray时,通过调用
完成释放[#<your var># release];
解决您的泄漏问题。自动释放将起作用,但是你需要设置一个NSAutoRelease池并在完成后将其耗尽以防止事实上的泄漏(因为开始时唯一的自动释放池在main()中,所以程序将不会释放,直到程序无论如何都退出了。)