Как отменить метод, зарегистрированный в [executeSelector: withObject: afterDelay:]? - PullRequest
2 голосов
/ 01 июня 2011

Моя проблема в том, что в какой-то момент в моем приложении я вызываю [performSelector: withObject: afterDelay:], но во время задержки, которая может быть до 1 секунды, происходит несколько вещей, которые решают, следует ли вызывать отложенный метод, однако, после регистрации,селектор не может быть незарегистрирован, поэтому он все равно будет вызываться.Я попытался установить флаг, но из-за того, что [performSelector: withObject: afterDelay:] может вызываться несколько раз в секунду с использованием одного флага, происходит сбой.

Полагаю, мне нужно каким-то образом иметь возможность остановить конкретный метод перед его вызовом.Это вообще возможно?

1 Ответ

10 голосов
/ 01 июня 2011

Метод cancelPreviousPerformRequestsWithTarget: удаляет все такие операции выполнения в очереди.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...