runtime方法的交换

import "UIImage+image.h"

import <objc/message.h>

@implementation UIImage (image)

//+(UIImage*)imageNamed:(NSString *)name{
//// 在分类里面不能调用super
// return nil;
//}

// 运行时

// 1.先写一个其他的方法来实现这个
+(__kindof UIImage)CJimageNamed:(NSString)imageName{

// 1. 加载图片 (在运行时的是后这里调用相当于是调用imagewithname)
UIImage *image =[UIImage CJimageNamed:imageName];
// 2.判断图片是否为空

if (image == nil) {
    NSLog(@"加载的图片为空");
}
return image;

}
//加载分类的时候就会调用
+(void)load{
NSLog(@"%s",func);
// 交换方法
// 获取实例方法
// class_getInstanceMethod(<#__unsafe_unretained Class cls#>, <#SEL name#>)
获取对象的方法。
Method method1= class_getClassMethod([UIImage class], @selector(imageNamed:));

Method method2= class_getClassMethod([UIImage class], @selector(CJimageNamed:));

method_exchangeImplementations(method1, method2);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1️⃣runtime介绍: runtime是一套比较底层的纯C语言API, 包含了很多底层的C语言API。在我们平...
    CoderZS阅读 1,091评论 0 7
  • 对于从事 iOS 开发人员来说,所有的人都会答出【runtime 是运行时】什么情况下用runtime?大部分人能...
    梦夜繁星阅读 3,756评论 7 64
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,858评论 0 9
  • 一.runtime简介 runtime简称运行时,OC就是运行时机制,其中最主要的就是消息机制。对于C语言,函数的...
    时光作祟不朽间阅读 362评论 0 3
  • 有个朋友世界各地去旅行,最终在巴塞找到了归属感,而我22岁的人生最爱就是甲米,旅行结束的每一天睁开眼又闭上,脑海里...
    Chabor阅读 747评论 4 3