美文网首页
isa指针

isa指针

作者: Buddha_like | 来源:发表于2017-07-26 15:35 被阅读0次

    isa:是一个Class 类型的指针. 每个实例对象有个isa的指针,他指向对象的类,而Class里也有个isa的指针, 指向meteClass(元类)。元类保存了类方法的列表。当类方法被调用时,先会从本身查找类方法的实现,如果没有,元类会向他父类查找该方法。同时注意的是:元类(meteClass)也是类,它也是对象。元类也有isa指针,它的isa指针最终指向的是一个根元类(root meteClass).根元类的isa指针指向本身,这样形成了一个封闭的内循环。

    元类:元类是类对象的类,类对象是元类的实例。

    1.我们以前调用"+"开头的类方法实际是在调用元类的对象方法

    2.由于每个类有且只有一个,所以每个类对象都是其对应元类的单例

    1.每个实例对象的类都是类对象,每个类对象的类都是元类对象,每个元类对象的类都是根元类(root metaclass的isa指向自身)2.类对象的父类最终继承自根类对象NSObject,NSObject的父类为nil3.元类对象(包括根元类)的父类最终继承自根类对象NSObject

    可见,类与元类是一个闭环。

    相关文章

      网友评论

          本文标题:isa指针

          本文链接:https://www.haomeiwen.com/subject/kmcokxtx.html