1.+ (void)load;
函数的调用发生在程序的哪个阶段?
A.预处理阶段
B.编译阶段
C.汇编阶段
D.链接阶段
E.不在以上阶段
2.众所众知 可以在+ (void)load方法里可以进行类方法的交换method_exchangeImplementation(),
那么可以在+(void)load方法里面进行实例方法的交换吗?
IMP 表示函数实现的地址
performSelector...
里的方法在程序执行的过程中才会判断,是否实现。
先从方法缓存表里面查找、再到方法列表里面查找、再到父类方法列表里面查找、知道NSObject,实在找不到、可以调用forwardingTargetForSelector:把这个方法传给其他的对象处理。类似C++的多继承,但是比多继承更轻巧
感觉今天学到的真少....