Re: Creating an NSInvocation from an NSMethodSignature
Re: Creating an NSInvocation from an NSMethodSignature
- Subject: Re: Creating an NSInvocation from an NSMethodSignature
- From: Michael Ash <email@hidden>
- Date: Tue, 12 May 2009 14:19:43 -0400
On Tue, May 12, 2009 at 11:13 AM, Mike Mangino
<email@hidden> wrote:
>
> On May 12, 2009, at 9:43 AM, Michael Ash wrote:
> [snip]
>>
>> This is actually surprisingly easy.
>>
>> (Caveat: I have not actually done this.)
>>
>> Use -methodForSelector: to get the IMP for a nonexistent method. This
>> IMP will be a function pointer straight to the runtime's forwarding
>> machinery. Then install that IMP as the implementation for your
>> overridden methods. Callers will go straight into the forwarding
>> machinery rather than into your overridden methods, which will then
>> invoke -forwardInvocation: as usual and you can then do as you like.
>>
>> Since I haven't ever tried this, I'd be very interested to know how it
>> works for you if you try it.
>
> Brilliant! It works perfectly. Now I just need to wire up a bunch of
> plumbing and I'll have a patch that handles actual partial mocks.
Excellent. I'm glad my theory translated properly into practice.
Mike
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden