是否有一个预处理器宏可以扩展到当前选择器?

adi*_*dib 3 objective-c predefined-macro c-preprocessor

可能重复:
动态检索当前方法的名称
Obj-C introspection:方法如何引用它自己的选择器?

这适用于Objective-C,是否有预处理器宏或某些东西来获取当前选择器的SEL值?具体来说,我正在寻找类似的东西:

-(void) someSelector
{
    SEL mySelector = __CURRENT_SELECTOR__;
    NSLog(@"I'm in selector %@",NSStringFromSelector(mySelector));
}
Run Code Online (Sandbox Code Playgroud)

它有点像__FILE__宏,但这是为了获得当前的选择器.如果更改选择器名称,将其传递给其他人并不担心更新它非常有用.

sid*_*yll 9

每个方法都有两个隐式参数,selfid(接收器)和SEL被调用的_cmd,这可能是你想要的.

请注意,这与预处理器或编译时之前的任何事情无关,_cmd不是宏,它是一个参数.

-(void) someSelector
{
    NSLog(@"I'm in selector %@",NSStringFromSelector(_cmd));
}
Run Code Online (Sandbox Code Playgroud)