Swift对象引用分为强引用和弱引用,通过引用计数来管理。当强引用计数为0时对象被deinit,释放掉对象保持的资源,但是对象本身的指针并没有被系统回收,只有当弱引用计数也为0时才被回收。
当然,我们写程序并不能感知弱引用计数器的存在。当我们访问一个弱引用对象时,系统会检查该对象的强引用计数是否为0(是否被deinit),如果为0,弱引用计数则被减1,同时返回nil给访问者,直至弱引用计数也为0时,对象被回收。
Swift弱引用实现细节
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 作者:Mike Ash,原文链接,原文日期:2015-12-11译者:riven;校对:Cee;定稿:千叶知风 即...
- 作为一门现代的高级编程语言,Swift代替我们进行了对象的创建和销毁等相关的内存管理。它使用了一个优雅的技术,叫做...
- 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...