Runtime-(六)Method-Swizzling

Q: 什么是Method-Swizzling?

实际上就是交换两个方法的实现!

Xnip2018-10-24_21-38-30.png

实际上实现起来很简单


// 获取self的方法method1,method2
Method m1 = class_getInstanceMethod(self, @selector(method1));
Method m2 = class_getInstanceMethod(self, @selector(method2));
// 交换实现
method_exchangeImplementations(m1, m2);

这样两个方法的实现就被交换了。

你可能感兴趣的:(Runtime-(六)Method-Swizzling)