OC底层原理之《OC对象的本质下》

一、OC对象的本质探索

首先我们可以先做一些配置

1.打开终端执行 vim ~/.bash_profile 命令


图片1.png

2.进入编辑模式,输入:
alias rewriteoc='clang -x objective-c -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk'


图片2.png

3.保存退出然后执行: source ~/.bash_profile

4.打开终端进入项目目录执行:rewriteoc xxx.m ,生成 xxx.cpp 文件


图片3.png

如图所示我们在main.m中声明一个JPerson类

通过生成的.cpp文件中我们可以看到
图片4.png

这里我们可以明显看到,对象在底层的本质就是结构体
图5.png

这里我们可以看出isa实际上是objc_class类型的结构体指针。

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