第13条: 用"方法调配技术" 调试&quo

2016-02-19  本文已影响14人  spbreak

类的方法列表会把选择子的名称映射到相关的方法实现之上, 使得"动态消息派发系统" 能够据此找到应该调用的方法. 这些方法均以函数指针的形式来表示, 这种指针叫做 IMP, 其原型如下:

id (*IMP) (id, SEL, ...)

NSString类可以响应 lowercaseString/uppercaseString/capitalizedString 等选择子. 这张映射表中的每个选择子都映射到了不同的 IMP之上

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

交换方法实现函数:

void method_exchangeImplementations(Method m1, Method m2)

获取方法实现:

Method class_getInstanceMethod(Class aClass, SEL aSelector)

上一篇 下一篇

猜你喜欢

热点阅读