BURuntimeUtil.h 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. //
  2. // BURuntimeUtil.h
  3. // BUAdSDK
  4. //
  5. // Created by bytedance_yuanhuan on 2018/2/28.
  6. // Copyright © 2018年 bytedance. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @interface BURuntimeUtil : NSObject
  10. ///当originClass不存在originSEL时,该方法会自动添加一个imp为targetSEL的实现并替换targetSEL为原方法。调用该方法不需要再调用前做任何添加方法操作。
  11. + (void)bu_exchangeClassSEL:(SEL)originClassSEL
  12. originClass:(Class)originClass
  13. targetClassSEL:(SEL)targetClassSEL
  14. targetClass:(Class)targetClass;
  15. + (void)bu_exchangeInstanceSEL:(SEL)originInstanceSEL
  16. originClass:(Class)originClass
  17. targetInstanceSEL:(SEL)targetInstanceSEL
  18. targetClass:(Class)targetClass;
  19. + (void)bu_exchangeClassSEL:(SEL)originClassSEL
  20. targetClassSEL:(SEL)targetClassSEL
  21. aClass:(Class)aClass;
  22. + (void)bu_exchangeInstanceSEL:(SEL)originSEL
  23. targetInstanceSEL:(SEL)targetSEL
  24. aClass:(Class)aClass;
  25. //判断当前类是否重写了方法
  26. + (BOOL)bu_hasImpletionClass:(Class)targetClass sel:(SEL)sel;
  27. @end