美文网首页
RunTime的详解URL

RunTime的详解URL

作者: 牛奶红茶 | 来源:发表于2018-04-14 17:23 被阅读0次

    https://juejin.im/post/593f77085c497d006ba389f0


    面试:消息机制方法调用流程

    怎么去调用eat方法,对象方法:(保存到类对象的方法列表) ,类方法:(保存到元类(Meta Class)中方法列表)。

    1.OC 在向一个对象发送消息时,runtime库会根据对象的isa指针找到该对象对应的类或其父类中查找方法。。

    2.注册方法编号(这里用方法编号的好处,可以快速查找)。

    3.根据方法编号去查找对应方法。

    4.找到只是最终函数实现地址,根据地址去方法区调用对应函数。

    补充:一个objc对象的isa的指针指向什么?有什么作用?

    每一个对象内部都有一个isa指针,这个指针是指向它的真实类型,根据这个指针就能知道将来调用哪个类的方法。


    runtime 常见作用

    1,动态交换两个方法的实现

    2,动态添加属性

    3,实现字典转模型的自动转换

    4,发送消息

    5,动态添加方法

    6,拦截并替换方法

    7,实现 NSCoding 的自动归档和解档


    相关文章

      网友评论

          本文标题:RunTime的详解URL

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