method_t

作者: 大鹅ne | 来源:发表于2020-07-08 12:13 被阅读0次

    🪐method_t是对方法\函数的封装

    ///

    struct method_t {

      SEL name;  //函数名

      const  char  * types;//编码(返回值类型,参数类型)

      IMP imp;//指向函数指针(函数地址)

    }

    ///

    🪐IMP代表函数的具体实现

    typedef  id _Nullable (*IMP)(id  _Nonnull,  SEL  _Nonnull,...);

    🪐SEL代表方法\函数名,一般叫做选择器,底层结构跟char*类似

    可以通过@selector()和sel_registerName()获得

    可以通过sel_getName()和NSStringFromSeletor()转成字符串

    不同类中相同名字的方法,所对应的方法选择器是相同的

    🪐typedef struct  objc_seletor  *SEL;

    types包含了函数返回值,参数编码的字符串

    返回值 ,参数1,参数2.........

    🪐iOS中提供了一个叫做@encode的指令,可以将具体的类型表示成字符串编码

    相关文章

      网友评论

          本文标题:method_t

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