#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
runtime交换方法
最新推荐文章于 2020-11-02 23:13:28 发布