01-OC对象的本质

OC是通过C/C++的什么数据结构实现我们的OC对象呢

结构体--OC对象的本质就是C/C++的结构体
使用clang

xcrun xc是xcode

Class是一个指向结构体的指针在32位中占4个字节 在64位中占8个字节

截屏2019-12-05上午9.45.25.png

这个代码是给结构体分配存储空间,因为现在这个结构体里就一个成员,Class,Class是一个指针,所以这个对象的内存是暂时认为是8个字节

截屏2019-12-05上午9.52.16.png

创建完对象并且给这个对象分配完存储空间之后

我们要通过obj指针指向这个对象,

需要把isa指针的地址赋值给obj指针

截屏2019-12-05上午9.55.23.png

那刚刚我们假设是8个字节,其实是16个字节

截屏2019-12-05上午10.19.43.png

我们分析一下源码,第三步中可以看出是成员变量所占的大小

截屏2019-12-05上午10.30.31.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容