美文网首页
2022-11-16 05RunTime相关

2022-11-16 05RunTime相关

作者: TsingQue | 来源:发表于2022-11-17 00:51 被阅读0次
image.png

objc_object

image.png

objc_class

image.png

isa指针

image.png

cahce_t 方法查找

image.png image.png

class_data_bits_t

image.png

class_rw_t

image.png

class_ro_t

image.png

method_t

函数四要素:名称,返回值,参数,函数体


image.png

Type Encodings

image.png

runtime基础数据结构

image.png

对象,类对象,元类对象

1.类对象存储实例方法列表等信息
2.元类对象存储类方法列表等信息

image.png

消息传递

子类->父类->根类


image.png

消息传递:

void objc_msgSend(void /id self SEL op .../)
void objc_msgSendSuper(void /id super SEL op .../)

image.png

缓存查找:

采用哈希查找的方法获取,通过给定值的SEL,目标值是对应的bucket_t中的imp(采用这种方法是为了解决效率的问题)

当前类中的查找

1.对于已经排序好的列表,使用二分查找的算法查找
2.对于没排序好的,按照顺序查找

父类逐级查找

image.png

消息转发:

image.png

动态添加方法

performSelector:

动态方法解析
1.动态运行时语言将函数决议推迟到运行时
2.编译室语言在编译期进行函数决议

相关文章

  • 2022-11-16 05RunTime相关

    objc_object objc_class isa指针 cahce_t 方法查找 class_data_bits...

  • CSS:x轴/y轴溢出隐藏

    2022-11-16 周三 overflow文档地址[https://developer.mozilla.org/...

  • 05Runtime之常用API

    shshs

  • 2022-11-16

    Nature | 细胞外流体粘度增强细胞迁移和癌症扩散 原创huacishu图灵基因2022-11-16 10:1...

  • 《金吾生<庄子解>日课326.2022-11-16》

    《金吾生<庄子解>日课326.2022-11-16》 今天是壬寅辛未癸酉,十月廿三,2022-11-16星期三。 ...

  • 读书收获:先求稳定,再求突破

    中原焦点团队 坚持分享1581天 2022-11-16 危机中的当事人如果说自己“没有多大变化”,我们不要失望...

  • 0378|觉察日记

    2022-11-16 北京 晴天看着金灿灿的银杏叶子开始凋零,秋天的尾巴。灯塔读书,用阅读点亮世界。晨间早起的奇迹...

  • 保鲜

    2022-11-16 阴 周三 “猪爸,看群里通知说,今天13点前就要做完核酸哦,你上午有没有时间去做...

  • 故事从一张餐巾纸开始

    2022-11-16 2022年卡塔尔足球世界杯即将开幕,看到一个关于梅西的视屏,讲述球王梅西成长的故事。 梅西小...

  • 避猜忌险薄在于诚恳待人

    第37天(2022-11-16)避猜忌险薄在于诚恳待人 “不逆、不亿而先觉,此孔子因当时人专以逆诈、亿不信...

网友评论

      本文标题:2022-11-16 05RunTime相关

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