关闭

runtime

42人阅读 评论(0) 收藏 举报
#import "UIImage+AddImageFunc.h"#import <objc/runtime.h>@implementation UIImage (AddImageFunc)+ (void)load { Method methodOfOrigin = class_getClassMethod(self, @selector(imageNamed:)); Method methodOfCurrent= class_getClassMethod(self, @selector(custom_imageNamed:)); //交换两个方法 method_exchangeImplementations(methodOfOrigin, methodOfCurrent);}/* * 外界主动调用 imageNamed: 的时候,相当于调用了custom_imageNamed:这个方法 * **/+ (UIImage *)custom_imageNamed:(NSString *)name { if (name.length == 0) { name = @"1"; } /* * 1.当 主动调用 [self custom_imageNamed:name] 2.因为已经交换了 所以相当于调用[self imageNamed:name]; **/ UIImage * image = [self custom_imageNamed:name]; return image; return nil;}@end
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:44次
    • 积分:10
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档
    阅读排行
    评论排行