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

@property的属性 strong 和 weak 如何理解?

时间:2015-08-20 18:36:14      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

在ObjectiveC里,用@property访问所有的实例变量。@property有一对属性:strong 和 weak。官方文档里的解释晦涩难懂;Stack Overflow里的用户RDC (http://stackoverflow.com/users/1371853/rdc) 给出了形象的解释:

把对象想象成一条狗,它要跑 (be deallocated)。强指针就像一条拴在狗脖子上的狗链;只要攥在手里,狗就跑不了;如果5个人攥着5条狗链都拴着狗 (5个强指针指向对象),除非5条狗链都撒开,狗就跑不了。弱指针就像是孩子指着狗喊“看!狗!”;只要狗链还拴着狗,孩子就能指着狗喊。当所有狗链都撒开,不管有多少孩子指着狗喊,狗都跑了。当最后一个强指针不再指向对象,对象就会被释放,所有弱指针清零。我们什么时候使用弱指针呢?只有当你想避免保留循环 (retain cycles,) 时,我们才使用它。

@property的属性 strong 和 weak 如何理解?

标签:

原文地址:http://www.cnblogs.com/JoJosBizarreAdventure/p/4745696.html

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