1. NSSelectorFromString:()
根据字符串获取sel;
SEL sel = NSSelectorFromString(@“surfaceUpdated:”);
2.class_respondsToSelector()
判断当前类是否存在SEL,返回值bool
class_respondsToSelector(self.class, sel)
3.performSelector
详细参考简书介绍
动态调用方法
performSelector是运行时系统负责去找方法的,在编译时候不做任何校验;如果直接调用编译是会自动校验。
4.respondsToSelector
在运行时判断对象是否响应此方法
5. NSClassFromString
根据字符串获取Class
6.class_respondsToSelector
判断某个类是否有某个实例方法,有则返回YES,否则返回NO
7. respondsToSelector
来判断某一个方法时候实现
8.class_getInstanceMethod
得到类的实例方法
9.class_getClassMethod
得到类的类方法
10. BOOL class_addMethod(Class cls, SEL name, IMP imp, const char *types)
给类添加一个新的方法和该方法的具体实现
举个🌰
BOOL didAddMethod = class_addMethod(_FDDelegate,
newFDDelegateSelector,
method_getImplementation(originalMethod),
method_getTypeEncoding(originalMethod));
11. method_exchangeImplementations
方法交换