runtime交换函数method_exchangeImplementations
来源:互联网 发布:淘宝伴侣下载 编辑:程序博客网 时间:2024/05/21 10:49
NSURL扩展文件 #import <Foundation/Foundation.h>
@interface NSURL (NSURL_Category)
@end
——————————————
#import "NSURL+NSURL_Category.h"
#import <objc/message.h>
@implementation NSURL (NSURL_Category)
+(void)load{
/*这里是对象方法交换 需要注意 对象方法交换使用 class_getInstanceMethod 获取对象方法 类方法交换使用 class_getClassMethod 获取类方法 */Method murlw = class_getInstanceMethod([NSURL class], @selector(initWithString:));Method curl = class_getInstanceMethod([NSURL class], @selector(HJStringWithRUL:));/*交换函数*/method_exchangeImplementations(murlw, curl);
}
-(instancetype)HJStringWithRUL:(NSString *)url {
/*防止死循环*/NSURL *urls = [[NSURL alloc]HJStringWithRUL:url];if (urls == nil) { NSLog(@"接口有问题");}return urls;
}
@end
-调用_______________________________________ #import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
(void)viewDidLoad {
[super viewDidLoad];NSURL *url = [[NSURL alloc] initWithString:@”www.baidu.com是的”];
NSLog(@”%@”,url);
}
@end
0 0
- runtime交换函数method_exchangeImplementations
- runtime黑魔法 method_exchangeImplementations
- ios runtime void method_exchangeImplementations
- ios runtime系列 method_exchangeImplementations方法
- method_exchangeImplementations
- ios runtime void method_exchangeImplementations(Method m1,
- Objective-C Runtime :Method Swizzling - method_exchangeImplementations
- Runtime基础使用场景-拦截替换方法(class_addMethod ,class_replaceMethod和method_exchangeImplementations)
- runtime 方法交换
- runtime 方法交换
- Runtime -- 交换方法
- runtime交换方法
- runtime方法交换
- Runtime 学习-方法交换
- runtime 方法交换
- ios runtime 交换方法实现
- 分类使用runtime交换方法
- ios RunTime之方法交换
- 有关android studio 使用aar文件
- unittest测试用例带有setUp、两个测试函数操作实例
- Android 文件操作工具类
- Android中SQLite的基本使用方法
- EditText
- runtime交换函数method_exchangeImplementations
- Android --学习笔记记录
- Mybatis 需要注意的问题
- APP转盘抽奖Java服务端接口
- 训练集(train set) 验证集(validation set) 测试集(test set)
- jQuery获取多个checkbox的值
- MAVEN学习(3)------MAVEN的坐标及依赖
- Android Studio修改注释模版
- LINUX C中sigprocmask()函数用法