什么是ARC
在iOS5以后的版本中,都有ARC机制。ARC的全拼就是:Automatic Reference Counting,自动引用计数也就是内存自动回收的意思。在工程中使用ARC非常简单:只需要像往常那样编写代码,只不过不用写retain,release和autorelease三个关键字,这是ARC的基本原则。当ARC开启时,编译器将自动在代码合适的地方插入三个关键字,而作为开发者,完全不需要担心编译器会做错。
1、项目整体更改机制
在项目创建的时候,可以选择是否带有ARC机制。如果创建完项目后,需要修改项目的ARC机制,可以通过以下方法。
点击项目名称,依次点开TARGETS-->Build Settings-->Apple LLVM 9.0 - Language - Objective C
然后会看到有Objective-C Automatic Reference Counting选项,通过选择YES/NO来选择是否支持ARC机制。如下图所示。
项目是否支持ARC
2、ARC项目中某些文件不使用ARC机制
如果只想修改ARC项目中的不支持ARC机制的文件,例如从第三方库引入的文件,可以通过修改对应文件是否支持ARC实现:
点击项目名称,依次点开TARGETS-->Build Phases-->Compile Sources
然后在Compiler Flags选项处修改需要禁止ARC机制的文件,双击并输入-fno-objc-arc,如下图所示。
ARC项目中文件指定不支持ARC
3、非ARC项目中某些文件使用ARC机制
同2步骤,输入-fobjc-arc即可