当weak引用指向的对象被释放时,又是如何去处理weak指针的呢?

1、调用objc_release

2、因为对象的引用计数为0,所以执行dealloc

3、在dealloc中,调用了_objc_rootDealloc函数

4、在_objc_rootDealloc中,调用了object_dispose函数

5、调用objc_destructInstance

6、最后调用objc_clear_deallocating,详细过程如下:

a. 从weak表中获取废弃对象的地址为键值的记录

b. 将包含在记录中的所有附有 weak修饰符变量的地址,赋值为 nil

c. 将weak表中该记录删除

d. 从引用计数表中删除废弃对象的地址为键值的记录

[摘自文章](https://mp.weixin.qq.com/s?__biz=MzUxODI3MjY2Ng==&mid=2247484668&idx=1&sn=f955f9c90c3705dcd00128ecd8e28c6a&chksm=f98a2709cefdae1f451857a6956a26fea8effa968f7815595942dff1c2d23035f8ad34bb1e53&scene=38#wechat_redirect

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 八爪鱼采集器 2018-02-08星夜读书区 今天,星夜小编为大家讲解八爪鱼采集器是什么、八爪鱼采集器怎么用和八爪...
    最美有品阅读 2,761评论 0 2
  • 心跳之旅—💗—iOS用手机摄像头检测心率(PPG) http://mp.weixin.qq.com/s?__biz...
    LeafRead阅读 844评论 0 1
  • 香烟~ 小时候看着大人们对它是“情有独钟” 无论做什么事情,他们都要先抽根烟 爸爸说:“有烟好办事”! 爷爷说:“...
    谅逝阅读 289评论 0 1
  • 12月17日 |《未来简史》 如果你错过了这本书,那么你将错失未来! 书名:《未来简史》 作者:尤瓦尔·赫拉利 今...
    普朗克的驾驶员阅读 316评论 0 0

友情链接更多精彩内容