
在前面的学习中,我们知道isa,这里我学习下isa在Objective-C中的作用。在Objective-C中有三种对象:instance、class和meta-class。
- instance的isa指向class
- class的isa指向meta-class
- meta-class的isa指向基类的meta-class
- class的superclass指向父类的class,如果没有父类,superclas指针为nil
- meta-class的superclass指向父类的meta-class,基类meta-class的superclass指向基类的class
- instance调用方法的顺序
- isa找到class,方法不存在,就通过superclass找到父类
- class调用类方法的顺序
- isa找到meta-class,方法不存在,就过过superclass找父类,如果父类没有就会找到class的基类
objc_msgSend
消息发送
动态解析
消息转发