美文网首页
交换方法

交换方法

作者: xiari1991 | 来源:发表于2017-02-28 15:42 被阅读7次

几个函数

交换方法:method_exchangeImplementations
获取类方法:class_getClassMethod
获取实例方法:method_exchangeImplementations

一、选择合适的时机,交换方法

+ (void)load
{
    method_exchangeImplementations(class_getClassMethod(self, @selector(imageWithName:)),class_getClassMethod(self, @selector(imageNamed:)));
}

二、替换方法内部使用注意

+ (UIImage *)imageWithName:(NSString *)name {
//调用自己,可以使被调用方法照常执行。不能调用被替换方法,会死循环
    UIImage *image = [self imageWithName:name];
    ......
    return image;
}

相关文章

  • iOS 方法交换

    交换类方法 交换实例方法

  • iOS -- runtime的应用

    runtime主要有一下几种应用场景 方法交换 添加属性 (一)方法交换 (1)字体适配 方法交换实际交换的是方法...

  • iOS 方法交换 method_exchangeImplemen

    方法交换 使用方法交换需要注意些什么呢 1、在交换系统方法后要注意结束前调用本方法,也就是执行系统方法 2、再交换...

  • OC runtime 底层API解析

    关于class的API 交换方法API 替换方法的实现 交换方法的实现

  • 交换方法

    利用runtime可以修改系统的方法实现,这种方式无任何侵入性,因此也是很多第三方常用的技术。它的解决具有全局性;...

  • 方法交换

    +(void)load load当类加载进内存的时候调用,而且不管有没有子类,都只会调用一次。在main函数之前调...

  • 交换方法

  • 交换方法

    几个函数 一、选择合适的时机,交换方法 二、替换方法内部使用注意

  • 交换方法

    // //ViewController.m //CocoTest_1 // //Created by S u p ...

  • 方法交换

    交换tableview reloadData 方法实现空数据提示

网友评论

      本文标题:交换方法

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