用 方法调配技术 调试 黑盒方法

2016-09-18  本文已影响0人  bamboomoon

类的方法列表会把选择子的名称映射到相应的方法实现上,使得 动态消息派发系统能够据此找到应该调用的方法

互换两个方法的实现

//参数表示待交换的两个方法的实现
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] 就会打印一些东西了

上一篇下一篇

猜你喜欢

热点阅读