Xcode中ARC、MRC以及ARC MRC混编



一、ARC

       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)工具。

转自http://justcoding.iteye.com/blog/1391548

感兴趣的朋友可以去看看,这里我只是作为笔记,方便自己查看。

二、MRC

        在MRC的内存管理模式下,与对变量的管理相关的方法有:retain,release和autorelease。retain和release方法操作的是引用记数,当引用记数为零时,便自动释放内存。并且可以用NSAutoreleasePool对象,对加入自动释放池(autorelease调用)的变量进行管理,当drain时回收内存。

转自http://blog.csdn.net/fightingbull/article/details/8098133

关于ARC和MRC的相关文档有很多。感兴趣和想要了解的朋友可以自己去查阅。


三、ARC和MRC混编

Xcode 项目中我们可以使用 ARC 和非 ARC 的混合模式。

如果你的项目使用的非 ARC 模式,则为 ARC 模式的代码文件加入 -fobjc-arc 标签。

如果你的项目使用的是 ARC 模式,则为非 ARC 模式的代码文件加入 -fno-objc-arc 标签。

添加标签的方法:

打开:你的target -> Build Phases -> Compile Sources.

双击对应的 *.m 文件

在弹出窗口中输入上面提到的标签 -fobjc-arc / -fno-objc-arc

点击 done 保存


注:这些都是开发时查找到的资料和自己的一些总结,如果看到到相关资料或者继续有其他的总结,也会继续更新。

你可能感兴趣的:(Xcode中ARC、MRC以及ARC MRC混编)