源码分析类的结构

通过x/4gx YDPerson.class 发现类也是有数据结构有内存
对象的内存里会存储很多的值像isa、成员变量,那么类会存储些什么?
YDPerson是一个类,而类在底层又是objc_class,于是查找objc底层源码

总结

objc_class是继承于objc_object的结构体,结构体内部存储的是一些成员变量例如从objc_object继承的isasuperclasscachebits
通过bits可以拿到class_rw_t,在class_rw_t里又可以获取到methodspropertiesprotocols等,因此bits使用来存储methodspropertiesprotocols等信息的,但怎么去获取这些信息呢?

__has_feature(ptrauth_calls)介绍
__has_feature:此函数的功能是判断编译器是否支持某个功能
ptrauth_calls: 指针身份验证,针对arm64e架构;使用Apple A12或更高版本A系列处理器的设备(如 iPhone XSiPhone XS Maxiphone XR 或更新的设备)支持arm64e架构

参考链接
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容