stringWithFormat与[NSString alloc]initWithFormat 区别

转载自:http://www.cocoachina.com/ask/questions/show/85981


前一个是autorelease类型的,不用你手动释放,系统会回收,后面的你要需自己释放

区别在于生成的字符串何时被回收。使用alloc出来的方式,字符串在调用release的时候被回收(假设该字符串没有被其他东西引用);使用stringWith的方式,字符串在api内部会被设置成autorelease,因此将会在最近的一个NSAutoreleasePool drain或release时被回收。

因此如果希望手动控制字符串被尽快回收,建议采用alloc方式,后边及时release。或者手动建立一个pool。否则只能等到包含整个app的pool release时才会被回收(即字符串一直在进程生存时存在)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值