美文网首页
runtime如何通过selector找到对应的IMP地址?

runtime如何通过selector找到对应的IMP地址?

作者: natewang | 来源:发表于2016-07-02 12:42 被阅读218次

    typedef struct objc_selector SEL;
    一个selector的定义�是这样的
    id (
    IMP)(id, SEL, ...)
    IMP是这样的,是一个方法的指针函数。
    typedef struct objc_method *Method;

    struct objc_method {
    
        SEL method_name                 OBJC2_UNAVAILABLE;  // 方法名
    
        char *method_types                  OBJC2_UNAVAILABLE;
    
        IMP method_imp                      OBJC2_UNAVAILABLE;  // 方法实现
    }  
    

    这是Method,将二者联系起来。
    每个类都有一个分发列表methodLists,可以用来查找selector对应的方法。

    相关文章

      网友评论

          本文标题:runtime如何通过selector找到对应的IMP地址?

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