一个objc对象的isa指针指向什么?有什么作用?
2020-03-10 本文已影响0人
EmulatingStep
一个 objc 对象的 isa 指针指向什么?有什么作用?
指向它的类对象,从而可以找到对象上的方法。
详解:
isa指针指向图
图中实线是Superclass指针,虚线是isa指针。
-
Root class(class)其实就是NSObject,NSObject是没有超类的,所以Root class(class)的Superclass指向nil; - 每个
Class都有一个isa指针指向唯一的meta class; -
Root class(meta)的Superclass指向Root class(class),也就是NSObject,形成一个回路; - 每个
meta class的isa指针都指向Root class(meta)。