美文网首页
iOS底层学习18 -- runtime方法底层现实

iOS底层学习18 -- runtime方法底层现实

作者: 恋空K | 来源:发表于2020-10-12 11:22 被阅读0次
方法列表是二维数组
只包括初始信息,不包括分类信息,一开始类的所有信息(方法,成员变量,属性,协议)都是放在 struct class_ro_t里面的,当程序运行起来,它要把分类的信息跟我们原来类的信息合并到一起,并放到struct class_rw_t里面去
也就是说struct class_rw_t里面有部分东西是从struct class_ro_t里面搬过来的

bits开始是指向class_ro_t的,只不过在后来的时候,重新创建了一个class_rw_t,在将rw_t设置为我们的data
选择器可以看成是方法名,拿到函数地址,可以直接调用函数
@selector(init)---相当于@“init”



imp就是函数地址值(或者函数的实现)



图中的数字代表字节
结构体访问成员变量

相关文章

网友评论

      本文标题:iOS底层学习18 -- runtime方法底层现实

      本文链接:https://www.haomeiwen.com/subject/jjflyktx.html