【问题标题】:Xcode ARC project is added dealloc with release callsXcode ARC 项目添加了带有发布调用的 dealloc
【发布时间】:2012-07-26 21:24:34
【问题描述】:

我将我的项目转换为使用 ARC,但是当我将项目添加到 xib,然后将它们拖到我的 .h 文件以创建 IBOutlets 时,Xcode 再次使用 release 调用和 [super dealloc] 调用添加了 dealloc 方法。

我不想每次在这个项目中添加插座时都必须删除这些东西。这是什么原因造成的?

【问题讨论】:

  • 我假设你现在已经解决了这个问题——你找到问题的根源了吗?
  • 不,我没有。它仍在发生。 :(
  • 有另一个帖子有人得到了非常奇怪的东西。关闭项目,也许是 Xcode,然后从终端 rm -rf 在这两个目录上: ./project.xcworkspace/xcuserdata/.xcuserdatad ./xcuserdata/.xcuserdatad - 它可能值得一试。另外,查看您的构建阶段,查看编译标志 - 任何不应该设置为非弧的设置?
  • 我还想到你应该删除你的“派生数据”文件夹——这可能是 Xcode 缓存某些设置的地方。您可以在 Xcode Organizer 的 Projects 窗格中找到它。我会在把它吹走之前关闭项目,然后打开项目,然后构建和测试。祝你好运!

标签: ios xcode automatic-ref-counting


【解决方案1】:

您是否关闭了项目并在转换后重新打开它?这听起来像是 Xcode 中那些陈旧的数据之一。完成此操作后,请检查项目设置和目标设置以确保 ARC 实际上已启用。

我在转换我的项目后从未见过这种情况,但我 100% 确定我首先关闭/重新打开。更改后我确实看到了其他奇怪的东西,所以现在习惯关闭/重新打开。

编辑:另外,选择 xib 文件,然后打开最右侧的窗格并查看“Interface Builder Document”部分,并确保部署和开发版本是最新的。

【讨论】:

  • 您是否同时检查了项目和目标,以确保两者都启用了 ARC???
【解决方案2】:

我以前有过这种经历。我有不同的目标 - 并没有全部设置为 ARC。

检查例如。发布设置设置为非 ARC。如果某些目标上的某些构建配置启用了 ARC,我相信 Xcode 在从 XIB 中拖动时会进行 dealloc 方法。

【讨论】:

  • 我已验证我的构建设置只有一个 ARC 值,并且设置为 Yes。
  • 谢谢,这是我的问题。我的主要目标是 ARC,但两个未使用的目标未启用 ARC。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-24
  • 2015-04-06
  • 2011-12-06
  • 2012-02-06
  • 2016-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多