【发布时间】:2013-04-10 10:02:38
【问题描述】:
我有一个项目已经过渡到ARC。现在我正在尝试包含来自另一个项目的现有文件,该文件没有使用 ARC,我希望它也符合 ARC:release-retains,[super dealloc]s 从这个文件中消失,快速修复,其他东西“转换为 Objective-C ARC ...”可以。
问题是我不能为此使用Edit->Refactor->"Convert to Objective-C ARC..." 工具。如果我在“选择要转换的目标”屏幕中仅选择此文件,我将收到“无法转换为 Objective-C ARC”消息,因为错误如下:"@synthesize of 'weak' 属性仅在 ARC 或 GC 模式下允许”。但它们是确实已经处于 ARC 模式!还有许多警告:“方法可能缺少[super dealloc] 调用”
如果我在转换时选择了除标有 -fno-objc-arc 之外的所有文件,我只会收到有关弱属性的错误。
当然,我可以手动构建和删除发布保留,但是如果有公共汽车(转换工具)为什么要走路...那么我可以将单独的文件自动转换到 ARC 吗?
更新:我不想为这个带有 -fno-objc-arc 标志的文件关闭 ARC,我希望在这个文件中使用 ARC。
【问题讨论】:
-
@Attila H 我不想为这个文件禁用 ARC,我想要释放保留,[super dealloc] 自动从这个文件中消失,因为它发生在你使用“无法转换为 Objective-C弧”工具。抱歉,如果我的问题不清楚。
标签: ios objective-c automatic-ref-counting