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