可以参考
https://www.jianshu.com/p/b099c68b50a1
http://www.cocoachina.com/articles/18962
核心内容:

_weak原理:
1.初始化一个weak对象时,runtime会调用一个objc_initWeak函数,初始化一个新的weak指 针指向该对象的地址
2.在objc_initWeak函数中会继续调用objc_storeWeak函数,在这个过程是用来更新weak指针 的指向,同时创建对应的弱引用表
3.在对象释放时,会调用clearDeallocating函数,这个函数会根据对象地址获取所有weak指针 数组,然后遍历这个数组置为nil。最后把该条对象的记录从weak表中删除。
本文深入探讨Objective-C中弱引用(_weak)的工作原理,包括weak对象初始化、weak指针更新及对象释放时的处理流程。揭示了runtime如何通过objc_initWeak和objc_storeWeak函数管理弱引用,并在对象销毁时清理相关weak指针。
1237

被折叠的 条评论
为什么被折叠?



