转载iOS Developer

OC 消息转发机制。

2017-02-07  本文已影响55人  浅y

当调用一个 NSObject 对象不存在的方法时,并不会马上抛出异常,而是会经过多层转发,层层调用对象的-resolveInstanceMethod:,-forwardingTargetForSelector:,-methodSignatureForSelector:,-forwardInvocation:等方法,其中最后-forwardInvocation:是会有一个 NSInvocation 对象,这个 NSInvocation 对象保存了这个方法调用的所有信息,包括 Selector 名,参数和返回值类型,最重要的是有所有参数值,可以从这个 NSInvocation 对象里拿到调用的所有参数值

1 2

了解下

上一篇 下一篇

猜你喜欢

热点阅读