ARC是什么

ARC是iOS 5推出的新功能,全称叫 ARC(Automatic ReferenceCounting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机制在iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2可以使用该机制。简单地理解ARC,就是通过指定的语法,让编译器(LLVM3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(StaticAnalyzer)工具。

ARC文件导入MRC中

那么在xCode中经常需要导入一些外来的代码文件,如果导入的文件使用了ARC机制而你的当前项目没有使用ARC,那么xCode会给出警告,或者报错。我们该如何处理这些问题呢:

点击项目导航文件-->选中Targets--> 选择 Build Phases --> 展开CompileSources

Xcode中ARC和MRC下文件转换_第1张图片

这个时候,我们看到第二列的名称为:CompilerFlags

双击你所要使用ARC的文件,并输入 -fobjc-arc


MRC文件导入ARC中


不想用ARC的文件都加上个flag“-fno-objc-arc”


搞定!