Swift对象引用分为强引用和弱引用,通过引用计数来管理。当强引用计数为0时对象被deinit,释放掉对象保持的资源,但是对象本身的指针并没有被系统回收,只有当弱引用计数也为0时才被回收。
当然,我们写程序并不能感知弱引用计数器的存在。当我们访问一个弱引用对象时,系统会检查该对象的强引用计数是否为0(是否被deinit),如果为0,弱引用计数则被减1,同时返回nil给访问者,直至弱引用计数也为0时,对象被回收。
Swift弱引用实现细节
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 作者:Mike Ash,原文链接,原文日期:2015-12-11译者:riven;校对:Cee;定稿:千叶知风 即...
- 作为一门现代的高级编程语言,Swift代替我们进行了对象的创建和销毁等相关的内存管理。它使用了一个优雅的技术,叫做...
- 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...