在arm64之前isa就是普通的指针,只存储类对象,元类对象的指针,但是arm64之后,isa做了优化,采取了共用体结构,将一个64位的内存数据分开存储了很多东西,其中33位用来存储地址值
右边数第二位是1与has_assoc相对,说明有关联对象
这个刚好是弱引用为1,所以通过isa,可以搞清楚,是否有关联对象,是否弱引用过
如果没有设置过关联对象和弱引用的话,会释放的更快,从下面的源码中可以看到
转载至:https://blog.csdn.net/u012581760/article/details/81230721