對象 類對象 元類對象

對象 類對象 元類

  1. 對象的isa指針指向類對象
  2. 類對象的isa指針指向元類
  3. 類對象和元類其他都是對象,是編譯器爲我們創建的。

對象初始化

  1. 先根據類對象初始化內存大小。
  2. 初始化對象isa指針即可。

方法的調用

  1. 對象方法的調用。實際上根據對象isa去類對象去查找對象方法去調用。找不到就去類對象的superCls指針去父類對象去查找,再找不到就進行消息轉發。沒有實現消息轉發那就會崩潰。
  2. 類方法的調用。實際上我們代碼用的類就是類對象。根據類對象isa指針去元類對象查找方法去調用,也會查找父類的元類對象。過程和對象方法調用類似。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章