
x:4gx.png
- 用编程计算机看二进制位

- 可以看到
extra_rc是0000 0000,它的值是引用计数减1,所以引用计数为0+1=1
再new一个obj持有看看
NSObject *obj = [[NSObject alloc]init];
NSObject *obj1 = obj;

x:4gx1.png

extra_rc1.png
- 可以看到
extra_rc变成0000 0001了,引用计数为1+1=2。
下面再来验证一下weak引用
NSObject *obj = [[NSObject alloc]init];
__weak NSObject *weakObj = obj;
-
weak不会增加引用计数,那么这里obj引用计数还是1,而且weakly_referenced位应该为1。

x:4gx_weak.png

weakly_referenced.png
- 可以看出
weakly_referenced确实变成1了,而引用计数还是0+1=1,符合预期。
end
文章均来自互联网如有不妥请联系作者删除QQ:314111741 地址:http://www.mqs.net/post/13731.html
添加新评论