1

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

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

4

2 回答 2

3

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

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

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

于 2012-07-24T18:08:48.573 回答
1

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

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

于 2012-07-24T18:15:01.733 回答