【问题标题】:Is there a way to use the ARC migration tool on a per-file basis only?有没有办法仅在每个文件的基础上使用 ARC 迁移工具?
【发布时间】:2012-01-13 16:48:43
【问题描述】:

在整个项目中多次使用 ARC 迁移工具时,我发现了一些不一致的地方。

例如:

- (void)dealloc {
    [ivar release], ivar = nil;
}

第一次迭代将其转换为:

- (void)dealloc {
    ivar = nil;
}

第二次迭代完全摆脱了 -dealloc。假设在 -dealloc 中将 ivars 设置为 nil 是没有意义的,因为 ARC 无论如何都会自动执行此操作,奇怪的是 ARC 首先离开了ivar = nil。

为了防止可能出现的奇怪错误,有没有一种方法可以将 ARC 迁移工具仅用于一个特殊文件而不是整个项目?

【问题讨论】:

    标签: ios xcode memory-management automatic-ref-counting


    【解决方案1】:

    当您选择“编辑”>“重构”>“转换为 Objective-C ARC”时,将打开一个包含项目目标列表的工作表。单击目标旁边的显示三角形以显示源文件列表。从那里您可以选择要转换为 ARC 的文件。

    【讨论】:

      【解决方案2】:

      我不这么认为。 您不必做太多“转换”项目以使用 ARC 支持。 删除所有 dealloc、release 和 nil(如果需要)调用。

      转换后不会出现奇怪的错误,因为编译器会为您处理所有事情,而不是错误的 XCode。

      【讨论】:

      • 我发现手动转换我的所有项目非常有用。这让我对正在发生的事情有了一个很好的复习,因为会有一些小问题需要处理。
      猜你喜欢
      • 2021-06-08
      • 2014-02-22
      • 2015-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多