Search code examples
objective-ccmdselectorintrospection

_cmd value inside C functions


What's the value of _cmd variable when I access it from C-style function's body?

Is it defined inside Objective-C methods only?

P.S. This question may originate from my non-understanding of what _cmd is. I would greatly appreciate if someone provided me with a good explanation source.


Solution

  • It's for Objective-C methods only, so you can't access it. The first two parameters passed to all Objective-C methods are self and _cmd, then whatever other arguments the actual method takes. Since neither self nor _cmd are passed to regular C functions, you can't access them.

    There's nothing particularly magic about either variable.