类的方法列表会把选择子的名称映射到相关的方法实现之上, 使得"动态消息派发系统" 能够据此找到应该调用的方法. 这些方法均以函数指针的形式来表示, 这种指针叫做 IMP, 其原型如下:
id (*IMP) (id, SEL, ...)
NSString类可以响应 lowercaseString/uppercaseString/capitalizedString 等选择子. 这张映射表中的每个选择子都映射到了不同的 IMP之上

新增选择子或改变对应实现之后

交换方法实现函数:
void method_exchangeImplementations(Method m1, Method m2)
获取方法实现:
Method class_getInstanceMethod(Class aClass, SEL aSelector)
网友评论