存储在“数组”中的对象的xcode潜在泄漏

时间:2013-06-06 23:14:35

标签: objective-c memory-leaks nsarray

NSArray * array = [[[NSUserDefaults standardUserDefaults] objectForKey:@"Top"] mutableCopy];
NSString * cellValue = [array objectAtIndex:indexPath.row];

我收到此错误:

potential leak of an object stored into "array"

如何在不迁移到 ARC 的情况下解决此问题。请帮助,并提前感谢一百万!

1 个答案:

答案 0 :(得分:4)

因为您正在创建一个新对象(copy的方法为对象提供引用计数1),您需要释放它。

错误是指存储在array变量中的数组。如果您没有在此函数之外使用它,或者您稍后将其分配给将保留它的属性,则自动释放它:

 NSArray *array = [[[[NSUserDefaults standardUserDefaults] objectForKey:@"Top"] mutableCopy] autorelease];