【问题标题】:Releasing UIViewControllers and LLVM static analysis发布 UIViewControllers 和 LLVM 静态分析
【发布时间】:2010-12-10 17:39:50
【问题描述】:

使用 LLVM 编译我的应用程序时,我得到的唯一错误是:

Potential leak of an object allocated on line xxx

这是对创建新 UIViewController 并将其推送到 UINavigationController 的代码的响应:

FooViewController *vc = [[FooViewController alloc] initWithNibName:@"FooViewController" bundle:nil];
vc.title = @"FooFoo";
[self.navigationController pushViewController:vc animated:YES];

所以我想这是建议我把它放在最后一行之后:

[vc release];

但每当我这样做时,都会导致错误 EXC_BAD_ACCESS。我不明白我为什么要释放它,因为我希望它保留在内存中,不是吗?我将如何解决这个问题以使 LLVM 编译器满意?

【问题讨论】:

  • 这是一个泄漏,显示更多代码以查看问题所在。或者使用 NSZombies 来查找错误访问的来源。

标签: iphone objective-c ios uiviewcontroller llvm


【解决方案1】:

您的导航控制器将保留视图控制器,因此您无需这样做。 (即:[vc release]; 行应该在其中。)

因此,我猜测 EXC_BAD_ACCESS 的问题出在其他地方,但如果没有一些额外的周边信息,很难判断。

【讨论】:

  • 谢谢,问题实际上是因为我在我的dealoc中双重释放了一个属性
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-04
  • 2020-10-28
  • 2014-06-26
  • 1970-01-01
  • 1970-01-01
  • 2012-08-01
相关资源
最近更新 更多