我想写一个宏,在任何方法中使用,引用方法的选择器。我不想传递方法的字面名称。例如:
#define RERUN [self performSelector:{something} withObject:nil afterDelay: 0.0]
上面的“{something}”将解析为使用宏的任何方法的选择器。
有什么办法可以做到这一点吗?
最佳答案
_cmd
表示当前方法的选择器 -- 它是一个隐藏参数(如 self
)。
如果您从不需要参数,或者 nil
适合您的目的 - 您需要做的就是写:
#define RERUN [self performSelector:_cmd]
关于objective-c - Obj-C 内省(introspection) : How can a method reference its own selector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8431498/