只看 Objective-C 运行时库,当一个消息被发送到一个不响应它的对象时,运行时系统给了接收者另一个机会来处理这个消息。因此,接收者的forward::方法(如果已实现)将被调用。但是,查看NSObject.mm,NSObject似乎没有实现forward::。
那么,如何调用NSObject'sforwardInvocation:方法,因为运行时系统在需要转发时唯一调用的是forward::?Foundation 是否使用objc_setForwardHandler( runtime.h ) 设置一个新的处理程序,该处理程序在需要转发forwardInvocation:发送到对象的消息时调用?NSObject