美文网首页
运行时-方法添加

运行时-方法添加

作者: lltree | 来源:发表于2018-06-08 17:33 被阅读10次

运行时如何添加方法:

//这一该方式为C语言方式写法
//id self,SEL _cmd 为前两个固定的,后边为参数
void mytest(id self,SEL _cmd,int a,int b,int c){
    
    NSLog(@"I'm here-:test,");
}
#pragma mark --动态方法解析

//向类对象发送方
+(BOOL)resolveInstanceMethod:(SEL)sel{
    
    if (sel == @selector(mytest:b:c:)) {
    
        class_addMethod([self class], sel, (IMP)mytest, "v@:iii");
        return YES;
    }
    return [super resolveInstanceMethod:sel];
}

示例说明:

class_addMethod(Class _Nullable cls, SEL _Nonnull name, IMP _Nonnull imp, 
                const char * _Nullable types) 

中参数:
参数1:cls为执行SEL的类,上述为[self class]
参数2:执行的SEL
参数3:替换的方法(IMP)
参数4:方法执行的返回与传入字符串格式

相关文章

  • IOSRunTime_动态添加方法

    利用RunTime运行时,动态添加一个方法 动态添加方法,首先实现这个resolveInstanceMethod ...

  • 分类中添加方法的实现原理

    方法调用 源码(主干部分) 总结 0.分类的方法,是在编译的时候添加的,还是运行时添加? 运行时 1.为什么分类方...

  • runTime之--动态添加方法

    Runtime运行时之--动态添加方法 - OC都是懒加载机制、只要方法实现了,就会马上添加到方法列表List中-...

  • 运行时-方法添加

    运行时如何添加方法: 示例说明: 中参数:参数1:cls为执行SEL的类,上述为[self class]参数2:执...

  • 2020-03-09

    分类: 运行时添加类方法列表、实例方法列表、实现协议列表,没有属性列表,使用@property添加的属性,编译期间...

  • runtime常见问题

    1 . iOS runtime 运行时,动态添加属性方法首先, 要明白为什么要动态给类添加方法? 如果一个类方法很...

  • iOS 之runtime消息传递和转发

    runtime 运行时,oc是一门动态性语言,程序在运行时可改变结构,如添加方法,交换方法等.其实runtime就...

  • Method-Swizzling&动态添加方法&动态方法解析

    Method-Swizzling 动态添加方法 动态方法解析 @dynamic 动态运行时语言,当把属性声明为 @...

  • iOS中的runTime

    运行时,我们最常见的可能就是创建类别(Category),为类别添加属性,类别是不能直接添加属性的,可以添加方法,...

  • 升级XCode9 .WKWebview 运行时Crash

    WKWebview 运行时Crash,在代理方法中添加如下可解决 -(void)webView:(WKWebVie...

网友评论

      本文标题:运行时-方法添加

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