一、使用arc必须用LLVM3.0,LLVM3.0多了一个给力的新东西,叫Automatic Reference Counting。开启这个选项之后,LLVM会在编译阶段自动帮开发者完成“手动”的内存管理。同时,所有代码中的retain,release和autorelease会被标记成错误,也就是说,我们完全不需要用以前头蛋俱疼的方式管理内存了。 ARC不仅可以修复错误,还能增强性能。根据WWDC
2011大会的介绍,retain/release快了2.5倍,@autoreleasepool快了6倍,objc_msgSend快了33%。不需要arc的文件,加入“-fno-objc-arc”编译选项即可。
二、不用arc时,编译器用gcc或llvm3.0都可
三、引入了c++静态库,相关使用静态库的.m文件都要改为.mm文件,包括appdelegate.m和main.m
四、不要忘记配置header search paths
五、如果引入的静态库中有category,在Other linker flag中加入-ObjC和-all_load