交换方法的底层实现原理
2020-02-27 本文已影响0人
异乡人_4f2a
例如:拦截所有UIButton的点击事件
1、

2、

3、原理是:
交换方法如果调用的是class_rw_t的话,实质上是交换class_rw_t里面methods的method_t的imp。
交换方法如果调用的是cache_t的话,实质上是清空缓存,重新再来一遍。





例如:拦截所有UIButton的点击事件
1、
2、
3、原理是:
交换方法如果调用的是class_rw_t的话,实质上是交换class_rw_t里面methods的method_t的imp。
交换方法如果调用的是cache_t的话,实质上是清空缓存,重新再来一遍。