runtime交换方法

来源:互联网 发布:cf修复软件 编辑:程序博客网 时间:2024/05/21 14:57
#import "UIImage+UIImage.h"#import <objc/message.h>@implementation UIImage (UIImage)+(void)load{    NSLog(@"%s",__func__);    //交换方法实现,方法都是定义在类里面    //class_getClassMethod:获取类方法    Method imageNameMethod = class_getClassMethod([UIImage class], @selector(imageNamed:));    //ds_imageName    Method ds_imageNameMethod = class_getClassMethod([UIImage class], @selector(ds_imageName:));        //交换方法实现    method_exchangeImplementations(imageNameMethod, ds_imageNameMethod);    }    +(instancetype)ds_imageName:(NSString*)imageName{    //1加载图片    UIImage *image = [UIImage ds_imageName:imageName];        //2.判断功能    if (image == nil) {        NSLog(@"加载图片为空");    }    return image;}@end

0 0
原创粉丝点击