ARC的编译器指令

时间:2012-05-17 14:55:01

标签: ios ios5 automatic-ref-counting

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

例如:

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

#if NOT_USING_ARC 

[myClass release];

#endif

2 个答案:

答案 0 :(得分:3)

您可以使用:

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

答案 1 :(得分:1)

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

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

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

您在目标中添加编译器标志 - >构建阶段 - >编译源代码。您必须双击Compiler Flags下行的右列。您还可以通过按住cmd按钮选择文件,然后按Enter键以显示标志编辑框,将其添加到多个文件中。