iOS中 isa 与 superclass 区别于作用

2020-02-07  本文已影响0人  Someone_Joker

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)寻找

上一篇 下一篇

猜你喜欢

热点阅读