美文网首页
467,Category加载流程的加载流程(面试点:catego

467,Category加载流程的加载流程(面试点:catego

作者: 枫叶1234 | 来源:发表于2021-02-04 10:01 被阅读0次
    image.png

    Category 在编译过后,是在什么时机与原有的类合并到一起的?

    1. 程序启动后,通过编译之后,Runtime 会进行初始化,调用 _objc_init
    2. 然后会 map_images
    3. 接下来调用 map_images_nolock
    4. 再然后就是 read_images,这个方法会读取所有的类的相关信息。
    5. 最后是调用 reMethodizeClass:,这个方法是重新方法化的意思。
    6. reMethodizeClass: 方法内部会调用 attachCategories: ,这个方法会传入 ClassCategory ,会将方法列表,协议列表等与原有的类合并。最后加入到 class_rw_t 结构体中。

    相关文章

      网友评论

          本文标题:467,Category加载流程的加载流程(面试点:catego

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