美文网首页
2019-02-13

2019-02-13

作者: 高思阳 | 来源:发表于2019-02-13 14:23 被阅读0次
2019-02-13 2019-02-13 2019-02-13 alloc实现 retain实现

首先,通过hash函数获得对象指针对应的SideTable的下标,从SideTables中取得SideTable。

然后,通过hash函数获得对象指针对应的引用计数所在下标,从SideTable中的引用计数表里获取对应的引用计数。

最后进行加一操作

引用计数

最后两位分别表示:对象是否正在销毁;对象是否有弱引用。(因此取引用计数值最后需要右移两位)

首先,通过hash函数获得对象指针对应的SideTable的下标,从SideTables中取得SideTable。

然后,通过hash函数获得对象指针对应的引用计数所在下标,从SideTable中的引用计数表里获取对应的引用计数。

最后进行减一操作

2019-02-13

首先,通过hash函数获得对象指针对应的SideTable的下标,从SideTables中取得SideTable。

定义一个局部变量,指定为1。

hash查找得到对象指针对应的引用计数。

最后将查找结果向右便宜,再加上上面的局部变量1,返回。

(这里解释了为什么alloc出来的对象引用计数为1,因为刚alloc出来,表里是没有这个对象的引用计数的,那么就是0,加上1,结果就是1)

相关文章

网友评论

      本文标题:2019-02-13

      本文链接:https://www.haomeiwen.com/subject/xvqdeqtx.html