NSObject內存中的第一個屬性是isa,後面有驗證
Class是objec_class的實例對象
objec_class是一個結構體,並且標明瞭第一位是ISA,圖示紅框處註釋
咱們注意到上圖的第二個位置是superclass咱們驗證以下
補充一點lldb的操做
p/x :16進制打印內存地址
x/2gx: 打印對象的前兩段內存地址,第一位isa,第二位superclass
po:這個不用多說你們都瞭解
複製代碼
(第一個16進制都是isa)
,能夠發現:TestObject
,類TestObject的isa指向了元類TestObject
,他們的名字是如出一轍的,元類是系統在編譯期動態生成的。object對象的isa -> TestObject類 -> 元類TestObject -> NSObject -> NSObject
複製代碼
1.NSObject 的父類是nil。
bash
2.根元類的父類是NSObject。
markdown
3.NSObject的isa指向自身。
spa