iOS笔记 - retainCount源码解析

引用计数源码解析

1 - 在 64bit 中引用计数可以直接存储在优化过的 isa 指针中,也可能存在 SideTable 中。我们可以回顾下优化后的 isa

2 - 查看源码:引用计数的具体实现

① 打开 SideTable 可以看到引用计数的缩写 refcnts 是一个存放对象引用计数的散列表

② 接下来走一遍底层函数 rootRetainCount

③ 打开 sidetable_getExtraRC_nolock 可以看到返回的引用计数