一个objc对象的isa指针指向什么?有什么作用?

一个 objc 对象的 isa 指针指向什么?有什么作用?

指向它的类对象,从而可以找到对象上的方法。

详解:

isa指针指向图

图中实线是Superclass指针,虚线是isa指针。

  1. Root class(class)其实就是NSObjectNSObject是没有超类的,所以Root class(class)Superclass指向nil
  2. 每个Class都有一个isa指针指向唯一的meta class
  3. Root class(meta)Superclass指向Root class(class),也就是NSObject,形成一个回路;
  4. 每个meta classisa指针都指向Root class(meta)

iOS面试题汇总

你可能感兴趣的:(一个objc对象的isa指针指向什么?有什么作用?)