【问题标题】:Compiler directive for ARCARC 的编译器指令
【发布时间】:2012-05-17 14:55:01
【问题描述】:

如何放置编译器指令来排除非 ARC 代码,以便共享代码可用于使用 ARC 的项目和不使用 ARC 的项目?

例如:

MyClass *myClass = [MyClass alloc]init];
...

#if NOT_USING_ARC 

[myClass release];

#endif

【问题讨论】:

标签: ios ios5 automatic-ref-counting


【解决方案1】:

你可以使用:

#if __has_feature(objc_arc)
    ...
#else
    ...
#endif

【讨论】:

【解决方案2】:

有一个重构可以将您的类转换为与 ARC 兼容。

在 XCode 菜单中:编辑 - 重构 - 转换为 Objective-C ARC。

另一个选项是通过为这些文件添加 -fno-objc-arc 编译器标志来禁用单个文件的 ARC。

您在 Targets -> Build Phases -> Compile Sources 中添加编译器标志。您必须双击编译器标志下行的右列。您也可以将其添加到多个文件中,方法是按住 cmd 按钮选择文件,然后按 enter 调出标志编辑框。

【讨论】:

  • 我已经在其他地方使用了这个选项,只需要知道如何将编译器指令内联。
猜你喜欢
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
  • 2011-12-29
  • 2018-05-26
  • 1970-01-01
  • 2017-01-07
  • 1970-01-01
  • 2012-01-06
相关资源
最近更新 更多