无痛使用arc

无痛使用arc

November 4, 2011

伴随这iOS5的发布,xcode中加入了一个振奋人心的新特性:ARC(Automatic Reference Counting,俗称自动引用计数)图片来源:http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html

开启了这个特性之后,我们就不用在管理内存了。llvm3.0在编译期会自动把retain神马的加上。这就省去了很多麻烦事儿,可以把更加多的精力放在功能的实现上。 如何开启arc: 在创建项目的时候开启arc:在创建完后开启arc: 在target的bulid setting中找到objective-C Automatic Reference Counting,选择YES:如何让没有使用ARC的代码和使用了ARC的代码共存? 目前很多开源的框架,和我们之前写的代码中,都是手动管理内存的。代码中有很多retain,release,autorelease等和内存管理相关的代码。如果开启了arc特性后,xcode在没有就会报错。一个办法是手动把这部分的代码去掉,同时还要加各种__unsafe_retained之类的标记。这将是一个繁重的体力活。 其实我们llvm3.0中支持手动管理内存的代码和使用arc技术的代码共存的。 首先,需要开启arc特性。 然后我们可以告诉编译器那些代码没有使用arc。 具体操作如下,在target的bulid phases中展开compile source s中为不需要arc的代码加上-fno-objc-arc的参数。上图就是我在一个arc的工程中加入了ASIHttpRequest。 如果想Three20这样添加框架的方式,可以不用设置这个参数,因为是用proj之间的依赖。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值