Files
OrderScheduling/Pods/CocoaDebug/Sources/Swizzling/_Swizzling.m
DDIsFriend 63ca919ed5 update
2023-08-23 09:24:40 +08:00

21 lines
657 B
Objective-C
Executable File

//
// Example
// man
//
// Created by man 11/11/2018.
// Copyright © 2020 man. All rights reserved.
//
#import "_Swizzling.h"
IMP replaceMethod(SEL selector, IMP newImpl, Class affectedClass, BOOL isClassMethod) {
Method origMethod = isClassMethod ? class_getClassMethod(affectedClass, selector) : class_getInstanceMethod(affectedClass, selector);
IMP origImpl = method_getImplementation(origMethod);
if (!class_addMethod(isClassMethod ? object_getClass(affectedClass) : affectedClass, selector, newImpl, method_getTypeEncoding(origMethod))) {
method_setImplementation(origMethod, newImpl);
}
return origImpl;
}