iOS开发 isa结构分析

2020-09-10  本文已影响0人  魔杰西

1.什么是isa

isa是一个指针,每个类对象中都有,它指向的是类对象或者该类的内存地址。类信息就存储在当前的isa里面。

2.isa结构分析

先上图:


isa64位图析

上图展示了isa在手机和mac架构下的两种结构。

3.其他总结

我们可以通过clang(Clang是一个由Apple主导编写,基于LLVM的C/C++/Objective-C编译器)把目标文件编译成c++文件,指令为clang -rewrite-objc main.m,我们可以在.cpp文件下查看底层源码。
联合体位域的概念意义在于让内存更加优化。
大部分自定义的累都视为nonpointer_isa。
isa关联了calloc出来的指针跟当前类,类信息就存储在当前的isa里面。
xcrun是安装xcode时自带的,在clang基础上进行了封装,更加好用。

上一篇 下一篇

猜你喜欢

热点阅读