类的方法列表会把选择子的名称映射到相应的方法实现上,使得 动态消息派发系统能够据此找到应该调用的方法
互换两个方法的实现
//参数表示待交换的两个方法的实现
void method_exchangeImplementations(Method m1,Method m2)
//获得相应的方法的实现
Method class_getInstanceMethod(Class aClass,SEL selector)
//完整代码
Method originalMethod = class_getInstanceMethod([NSString Class],@selector(lowercaseString))
Method swappedMethod = class_getInstanceMethod([NSString Class],@selector(uppercaseString))
//完成两个方法的实现的交换
method_exchangeImpletations(originalMethod,swappedMehtod)
主要作用:调试
例如调用 NSString *s = @"this is string "; [s lowercaseString];
打印一些东西 。就可以自己在 NSString 分类中写个方法。然后和 lowercaseString 交互。然后调用 [s lowercaseString] 就会打印一些东西了