美文网首页runtime 相关的
用runtime实现类方法交换

用runtime实现类方法交换

作者: 5a9c6f44e578 | 来源:发表于2017-08-19 10:06 被阅读7次

    面试有被问道runtime,概念性的就不讲了,具体来实现一个功能,交换类方法

    先创建两个model,记得在.h中放出接口

    image.png image.png

    实现时,先 #import <objc/runtime.h>

            Method method1 = class_getInstanceMethod([object class], @selector(methodOne));
            Method method2 = class_getInstanceMethod([TWO class], @selector(methodTwo));
            method_exchangeImplementations(method1, method2);
            
            object *o = [object new];
            [o methodOne];
    

    打印结果

    image.png

    method_exchangeImplementations 交换IMP指针
    利用runtime的特性,动态的交换IMP 指针.从而实现交换类方法

    相关文章

      网友评论

        本文标题:用runtime实现类方法交换

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