【问题标题】:xcode potential leak of an object stored into "array"存储到“数组”中的对象的 xcode 潜在泄漏
【发布时间】:2013-06-06 23:14:35
【问题描述】:
NSArray * array = [[[NSUserDefaults standardUserDefaults] objectForKey:@"Top"] mutableCopy];
NSString * cellValue = [array objectAtIndex:indexPath.row];

我得到这个错误:

potential leak of an object stored into "array"

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

【问题讨论】:

  • 为什么需要对数组进行mutableCopy?另外,当你完成数组时,你是 releasing 吗?
  • 是的,我确实使用了 [array release],但遇到了同样的错误

标签: objective-c memory-leaks nsarray


【解决方案1】:

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

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

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

【讨论】:

  • autorelease dit id,谢谢,
猜你喜欢
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多