我希望编写一个宏,在任何引用方法选择器的方法中使用。我不希望传递方法的文字名称。例如:
#define RERUN [self performSelector:{something} withObject:nil afterDelay: 0.0]
上面的“{something}”将解析为使用宏的方法的选择器。
有没有办法做到这一点?
答案 0 :(得分:5)
_cmd
表示当前方法的选择器 - 它是隐藏的参数(如self
)。
如果您从不需要参数,或nil
适合您的目的 - 您需要做的就是写:
#define RERUN [self performSelector:_cmd]
答案 1 :(得分:1)
方法获得一个隐式参数_cmd,它是选择器。