举例 0xa000000007070703
这个指针是最初没有想到的
环境
这是时候报错 NSTaggedPointerString 找不到方法 replace...
1、标识符 最高四位
2、数据内容 中间部分
3、数据信息 最低八位
0xa000000007070703
Isa 0xa
数据内容 \x70 \x70 \x70
数据长度是3
这个是和NSNumber的使用方式一样的设计
打印 0xb0000000000000a2
能够阅读 Oxb 就是类型 \a翻译成数字就是10 2就是长度为2
总结
苹果从推出64位处理器之后为了提升效率,采用了这种虚拟指针的技术,对于这种处理因为苹果既要维护生命周期还要维护引用计数,过多的逻辑造成了不必要的效率缺少,因此采用了这种虚拟指针
网友评论