2

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

例如:

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

#if NOT_USING_ARC 

[myClass release];

#endif
4

2 回答 2

3

您可以使用:

#if __has_feature(objc_arc)
    ...
#else
    ...
#endif
于 2012-05-18T02:20:27.803 回答
1

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

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

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

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

于 2012-05-17T15:02:05.410 回答