ios 开发之类的本质

博客主要围绕iOS开发展开,深入剖析了Class的本质。指出Class是objc_class结构体的对象,介绍了objc_class继承自objc_object,包含父类、缓存等。还分析了objc_class中的class_rw_t,其存储方法、属性、协议列表等,以及class_rw_t中的class_ro_t,存着类名、成员变量列表等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

先来看看Class

Class是一个objc_class结构体的对象,再来看objc_class

注意OBJC_TYPES_DEFINED和OBJC2_UNAVAILABLE,OBJC2_UNAVAILABLE不可用,代表oc2.0以后不会用了,而OBJC_TYPES_DEFINED也不会进,因为没有定义OBJC_TYPES_DEFINED,看底层OBJC_TYPES_DEFINED的值是1,这里会在后面截图给大家看。现在来看一下objc-runtime-new.h中的objc_class。

objc_class继承自objc_object,objc_class中包括父类,缓存等,这里需要注意看objc_class结构体中的class_rw_t,class_rw_t一个函数了。再来看看class_rw_t。

class_rw_t中存储了方法列表,属性列表,协议列表等等。再看看class_rw_t中的class_ro_t。

class_ro_t中存着类名,成员变量列表等。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值