methodSignatureForSelector:
原型:
– (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
这个函数和后面的forwardInvocation:是最后一个寻找IML的机会。这个函数让重载方有机会抛出一个函数的签名,再由后面的forwardInvocation:去执行。
forwardInvocation:
原型:
– (void)forwardInvocation:(NSInvocation *)anInvocation
真正执行从methodSignatureForSelector:返回的NSMethodSignature。在这个函数里可以将NSInvocation多次转发到多个对象中,这也是这种方式灵活的地方。(forwardingTargetForSelector只能以Selector的形式转向一个对象)