美文网首页
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