Runtime-(六)Method-Swizzling

weixin_34007886發表於2018-11-02

Q: 什麼是Method-Swizzling?

實際上就是交換兩個方法的實現!

8037794-8262e2afc4d95859.png
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);

這樣兩個方法的實現就被交換了。