Re: Introspecting the current method
Re: Introspecting the current method
- Subject: Re: Introspecting the current method
- From: Ken Thomases <email@hidden>
- Date: Sun, 18 Apr 2010 21:26:21 -0500
On Apr 18, 2010, at 9:21 PM, Michael Ash wrote:
> On Sun, Apr 18, 2010 at 10:15 PM, Dave DeLong <email@hidden> wrote:
>> Yes, code should obviously be written with this knowledge in mind. The use case I have for it is for macros. I like to use a debugging macro like the following to ensure that methods are getting called (without having to break execution to stop at a breakpoint):
>>
>> #define LogMethod NSLog(@"-[%@ %@]", NSStringFromClass([self class]), NSStringFromSelector(_cmd))
>>
>> This, of course, is only accurate for instance methods (since I'm logging a "-"). I was just wondering if there was a way I could use some sort of introspection to appropriately place a + or a -.
>>
>> I like the ([self class] == self) method, simply because it's shorter, but the [[self class] instancesRespondToSelector:_cmd] is also a great solution.
>
> The magic __func__ identifier produces a C string which I believe, in
> an ObjC method, has exactly the format you're looking for.
And, if not, then one of __FUNCTION__ or __PRETTY_FUNCTION__ probably does.
Cheers,
Ken
_______________________________________________
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