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.

Mike



Mike
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/mmangino%40elevatedrails.com

This email sent to mmang...@elevatedrails.com

--
Mike Mangino
http://www.elevatedrails.com



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to