如何设置编译器指令以排除非ARC代码,以便共享代码可以与使用ARC的项目和不使用ARC的项目一起使用?
例如:
MyClass *myClass = [MyClass alloc]init];
...
#if NOT_USING_ARC
[myClass release];
#endif
答案 0 :(得分:3)
您可以使用:
#if __has_feature(objc_arc)
...
#else
...
#endif
答案 1 :(得分:1)
有一个重构会将您的类转换为与ARC兼容。
在XCode菜单中:编辑 - 重构 - 转换为Objective-C ARC。
另一种选择是通过为这些文件添加-fno-objc-arc
编译器标志来禁用单个文件的ARC。
您在目标中添加编译器标志 - >构建阶段 - >编译源代码。您必须双击Compiler Flags下行的右列。您还可以通过按住cmd按钮选择文件,然后按Enter键以显示标志编辑框,将其添加到多个文件中。