1.在ARC项目中使用非ARC框架或者类库
IOS 4引入了Automatic Reference Count(ARC),编译器可以在编译时对obj-c对象进行内存管理。
之前,obj-c的内存管理方式称作引用计数,就是obj-c对象每被”使用”一次,引用计数+1,当引用计数为0时,系统会回收内存.用程序语言表达,就是allco的要release,retain/copy的要release.还有某些容器add的,也要release等等.
那么在现有的ARC项目中,如何引用非ARC的第三方框架或者类库呢?
答案很简单,只需在TARGETS里的Build Phases中,找到 Compile Sources,把涉及到非ARC的类后面加上 -fno-objc-arc 标志。如下图:
2. 非ARC的项目重构为ARC项目
你有一个非ARC的项目,你想将它重构为ARC项目(使用Xcode的重构功能refactoring),但其中一些代码你不想重构。
要想解决这个问题,在你重构时,反选那些你不想重构的文件即可,Xcode会自动在这些文件上添加-fno-objc-arc 标志。
1.选择Edit->Refactor->Convert to Objective-C ARC 菜单。
2. 在“Select Targets To Convert ”界面,选择target,点击目标名旁边的小箭头,以展开文件列表。
3.选择所有不想重构的文件,右键(ctrl+左键),选择“uncheck-all”,然后进行重构。