1 Star 0 Fork 0

宝东/iOS_RunTime

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
FBDSwizzingTool.m 1.15 KB
一键复制 编辑 原始数据 按行查看 历史
//
// FBDSwizzingTool.m
// RunTimePro
//
// Created by feng on 16/9/26.
// Copyright © 2016年 冯宝东. All rights reserved.
//
/** 下面是类功能注释说明 联系人:冯宝东 QQ : 347428774 备注ios
*
*
* 这个是辅助类别的方法交换的类
*
*
*
**/
#import "FBDSwizzingTool.h"
#import <objc/runtime.h>
@implementation FBDSwizzingTool
/**
交换两个方法的实现
@param originName 原来的方法
@param overName 要替换的方法
*/
+(void)fbdSwizzingClass:(Class)class OriginSelectName:(NSString*)originName overName:(NSString*)overName
{
SEL originSEL= NSSelectorFromString(originName);
SEL overSEL= NSSelectorFromString(overName);
Method originM= class_getInstanceMethod(class, originSEL);
Method overM=class_getInstanceMethod(class, overSEL);
BOOL didAddM=class_addMethod(class, originSEL, method_getImplementation(overM), method_getTypeEncoding(overM));
if (didAddM)
{
class_replaceMethod(class, overSEL, method_getImplementation(originM), method_getTypeEncoding(originM));
}else
{
method_exchangeImplementations(originM, overM);
}
}
@end
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/donggehaoya/iOS_RunTime.git
git@gitee.com:donggehaoya/iOS_RunTime.git
donggehaoya
iOS_RunTime
iOS_RunTime
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385