Самоанализ Obj-C: Как метод может ссылаться на свой собственный селектор? - PullRequest
3 голосов
/ 08 декабря 2011

Я хочу написать макрос, который будет использоваться в любом методе, который ссылается на селектор метода. Я не хочу передавать буквальное имя метода. Например:

#define RERUN [self performSelector:{something} withObject:nil afterDelay: 0.0]

где "{что-то}" в приведенном выше разрешит селектор любого метода, в котором использовался макрос.

Есть ли способ сделать это?

Ответы [ 2 ]

5 голосов
/ 08 декабря 2011

_cmd представляет селектор текущего метода - это скрытый аргумент (например, self).

, если вам никогда не нужны аргументы, или nil подходит для вашей цели - всевам нужно написать:

#define RERUN [self performSelector:_cmd]
1 голос
/ 08 декабря 2011

Методы получают неявный аргумент _cmd, который является селектором.

...