Re: Introspecting the current method
Re: Introspecting the current method
- Subject: Re: Introspecting the current method
- From: Jean-Daniel Dupas <email@hidden>
- Date: Mon, 19 Apr 2010 09:27:46 +0200
Le 19 avr. 2010 à 04:21, Michael Ash a écrit :
> 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.
>
> Mike
It is fine for most cases, but __func__ is defined at compile time, and so, does not log the real type of the instance (if this is a subclass).
-- Jean-Daniel
_______________________________________________
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