OC--看objc源码认识weak
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC--看objc源码认识weak相关的知识,希望对你有一定的参考价值。
参考技术A 主要参考:weak 弱引用的实现方式
详解获取weak对象的过程
解析:SideTables, SideTable, weak_table, weak_entry_t
weak修饰有什么用?
1、设置方法:storeWeak
2、读取方法:objc_loadWeakRetained(ARC)、objc_loadWeak(MRC)
从全局的哈希表SideTables中,利用对象本身地址进行位运算后得到对应下标,取得该对象的弱引用表。SideTables是一个 64 个元素长度的散列表,发生碰撞时,可能一个SideTable中存在多个对象共享一个弱引用表。
上面三层结构下来,referent就是对象地址,referrers是这个对象所有weak变量的地址,
以上是关于OC--看objc源码认识weak的主要内容,如果未能解决你的问题,请参考以下文章