ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机制在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机制。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。
在xCode中经常需要导入一些外来的代码文件,以提高开发效率,但是问题就在这里:1,导入的文件使用了ARC机制,而当前工程没有使用ARC;2,导入的文件没有使用ARC机制,而当前工程使用了ARC.那么xCode会给出警告,或者报错。
点击项目导航文件--> 选中Targets--> 选择 Build Phases --> 展开Compile Sources
在Compiler Flags下添加-fno-objc-arc,意思是不在这个类里使用ARC机制.(工程使用了ARC机制,添加的类没有使用ARC)
在Compiler Flags下添加并输入 -fobjc-arc,意思是在这个类里使用ARC机制,(工程没有使用ARC机制,添加的类使用了ARC,)双击你所要使用ARC的文件,
如果在新建工程的时候使用了ARC功能,即点选了“Use Automatic Reference Counting”选项。
要关闭ARC可以在:在xcode中,打开“Build Setting”,找到“Objective-C Automatic Reference Counting”项,将它的值设置成“NO”这样在这个工程中,ARC功能就关闭了.