isa_super 指针分析

327 阅读1分钟

问题/目标分析

探究isa,super在对象中的具体指向。

方法分析

打印跟进指针对应的地址。

实验步骤

isa指针分析

isa为实例内存第一个内存指针 实例->isa 指向 class class->isa 指向 metaclass metaclass->isa 指向 nsobject nsobject->isa 指向 自身 1、从isa中,解析出对应的指针指向。(需要使用isamask或根据结构来解析出shiftcls指针)

2、isa 指向 metaNSObject,metaNSObject指向自身

super指针分析

isa为实例内存第二个内存指针 实例 不包含super,使用isa 指向 class class->super 指向 superclass superclass->super 指向 superclass ... superclass->super 指向 nsobject nsobject->super 指向 nil

总结实验

通过指针,知道存在metaclass类,分析metaclass具体作用看 metaclass作用