美文网首页
iOS中 isa 与 superclass 区别于作用

iOS中 isa 与 superclass 区别于作用

作者: Someone_Joker | 来源:发表于2020-02-07 13:11 被阅读0次

1、一个实例对象都有哪些成分

   · isa

    · 其他成员变量

2、isa 的定义与作用

    · isa是一个指向对象类的指针

    ·主要作用是用来实例对象调用方法是来寻找对应的方法

3、Class,类中的成分

    · isa (指向元类的执政)

    · superclass (指向父类的指针)

    · 实例方法

4、Mate Class,元类的成分

    · isa(指向根元类Root Mate Class(根元类的isa指向自己))

    · superclass (指向父类指针(Root Class 的superclass指向 nil))

    · 类方法

结论:

1、调用实例方法时会通过实例对象中的isa寻找到类对象并寻找所调用的方法,如果没有则通过superclass向父亲中寻找以此类推

2、调用类方法是会通过实例对象的isa指针寻找到类对象并通过类对象的isa寻找到类对应的元类(Mate Class),在元类中寻找类方法,如果没有则向根源类(Root Mate Class)寻找

相关文章

网友评论

      本文标题:iOS中 isa 与 superclass 区别于作用

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