isa 指針
在object-c 中每個對象都有一個isa指針指向它的類。
類中包含信息如下:
1.類的描述信息
2.對象的成員變量列表
3.對象的方法列表
4.對象接受消息的列表
類也是個對象,是另一個類的實例,這個類叫做元類(metaClass)。類的isa指針指向(metaClass)
1.類方法都保存在元類中
2.元類存在繼承關系,元類頂層叫做根元類(rootClass),根元類的isa指針指向自己,形成閉環
即NSObject中的isa指針指向自己。
3.類方法被調用時,元類先查找本身是否有該類方法,沒有則去查找父元類,直到繼承鏈頂層。
總結
對象的 成員變量、方法列表、消息列表 都保存在它的類中,通過isa指針來指向
類的方法 都保證在它的metaClass中,通過isa指針來指向。