美文网首页
Objective-C type encodings

Objective-C type encodings

作者: 刘香涛 | 来源:发表于2016-09-22 14:24 被阅读0次
    屏幕快照 2016-09-22 下午2.22.53.png

    具体请参照官方文档

    使用场景

    1.iOS 运行时在动态添加方法时会用到:
    class_addMethod(<#__unsafe_unretained Class cls#>, <#SEL name#>, <#IMP imp#>, <#const char *types#>)

    参数1 class
    参数2 方法体
    参数3 IMP 函数指针
    参数4 types 函数的定义

    实例
    class_addMethod([self class], sel, (IMP)changeBackgroud, "v@:@");
    class_addMethod([self class], sel, class_getMethodImplementation([self class], @selector(abc)), "v@:");

    "v@:@"的具体含义
    v 代表返回值(void)参照图表设置想返回的类型
    @ 代表object 这个是receiver 必传
    :代表SEL 这个是_cmd 必传
    @ 代表参数 这个代码参数 可选

    void changeBackgroud(id self,SEL _cmd,id value){}

    相关文章

      网友评论

          本文标题:Objective-C type encodings

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