一个objc对象如何进行内存布局?(考虑有父类的情况)

1.所有父类的成员变量和自己的成员变量都会存放在该对象所对应的存储空间中.
2.每一个对象内部都有一个isa指针,指向他的类对象,类对象中存放着本对象的

1)对象方法列表(对象能够接收的消息列表,保存在它所对应的类对象中)
2)成员变量的列表
3)属性列表

它内部也有一个isa指针指向元对象(meta class),元对象内部存放的是类方法列表,类对象内部还有一个superclass的指针,指向他的父类对象。

一个objc对象如何进行内存布局?(考虑有父类的情况)_第1张图片
1438585302109349.png

1)根对象就是NSobject,它的superclass指针指向nil。

一个objc对象如何进行内存布局?(考虑有父类的情况)_第2张图片
1438585375577177.png

你可能感兴趣的:(一个objc对象如何进行内存布局?(考虑有父类的情况))