码迷,mamicode.com
首页 > 其他好文 > 详细

引用计数

时间:2015-03-08 20:08:49      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

 

Cocoa采用一种称为引用计数的技术,有时也叫保留计数。每个对象有一个与之相关联的整数,称作它的引用计数器或保留计数器。当某段代码需要访问一个对象时,该代码将该对象的保留计数器加1,表示“我要访问该对象”。当这段代码结束对象访问时,将对象的保留计数器值减1,表示它不再访问该对象。当保留计数器值为0时,表示不再有代码访问该对象了,因此对象将被销毁,其占用的内存被系统回收以便重用。

 

当使用alloc,new方法或者通过copy消息(生成接收对象的一个副本)创建一个对象时,对象的保留计数器值被设置为1.要增加对象的保留计数器值,可以给对象发送一条retain消息,要减少对象的保留计数器值,可以给对象发送一条release消息。

 

当一个对象因其保留计数器归0而即将被销毁时,Object-C自动向对象发送一条dealloc消息。你可以在自己的对象中重写dealloc方法,可以利用Object-C在需要销毁对象时,调用dealloc方法。要获得保留计数器的当前值,可以发送retainCount消息。

 

retain方法返回一个id类型的值。通过这种方式,可以嵌套执行带有其他消息发送参数的保留调用,增加对象的保留计数器值并要求对象完成某种操作。例如,[[car retain] setTire:tire atIndex:2];表示要求car对象将其保留计数器值加1并执行setTire操作。

 

引用计数

标签:

原文地址:http://www.cnblogs.com/yang-guang-girl/p/4322133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!