首页 > 其他 > 详细

Swift自动引用计数

时间:2014-06-11 08:07:11      阅读:376      评论:0      收藏:0      [点我收藏+]

本文源自Swift中文网:http://see.xidian.edu.cn/cpp/swift/

Swift提供两种方法来解决强引用环:弱引用和无主引用。


弱引用和无主引用允许引用环中的一个实例引用另外一个实例,但不是强引用。因此实例可以互相引用但是不会产生强引用环。
对于生命周期中引用会变为nil的实例,使用弱引用;对于初始化时赋值之后引用再也不会赋值为nil的实例,使用无主引用。

弱引用

弱引用不会增加实例的引用计数,因此不会阻止ARC销毁被引用的实例。这种特性使得引用不会变成强引用环。声明属性或者变量的时候,关键字weak表明引用为弱引用。完整版请查看:http://see.xidian.edu.cn/cpp/html/2283.html
在实例的生命周期中,如果某些时候引用没有值,那么弱引用可以阻止强引用环。如果整个生命周期内引用都有值,那么相应的用无主引用,在无主引用这一章中有详细描述。在上面的Apartment例子中,有时一个Apartment实例可能没有房客,因此此处应该用弱引用。

Swift自动引用计数,布布扣,bubuko.com

Swift自动引用计数

原文:http://www.cnblogs.com/javascriptfans/p/3773336.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!