对象 类对象 元类对象

对象 类对象 元类

  1. 对象的isa指针指向类对象
  2. 类对象的isa指针指向元类
  3. 类对象和元类其他都是对象,是编译器为我们创建的。

对象初始化

  1. 先根据类对象初始化内存大小。
  2. 初始化对象isa指针即可。

方法的调用

  1. 对象方法的调用。实际上根据对象isa去类对象去查找对象方法去调用。找不到就去类对象的superCls指针去父类对象去查找,再找不到就进行消息转发。没有实现消息转发那就会崩溃。
  2. 类方法的调用。实际上我们代码用的类就是类对象。根据类对象isa指针去元类对象查找方法去调用,也会查找父类的元类对象。过程和对象方法调用类似。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章