iPhone - cancelPerformSelectorWithTarget не работает - PullRequest
3 голосов
/ 19 октября 2010

Если я сделаю это в подклассе UIView:

[self performSelector:@selector(doSomething) withObject:nil afterDelay:5];

Затем отмените это так (я пробовал обе версии):

 [[NSRunLoop currentRunLoop] cancelPerformSelectorsWithTarget:self];
 //[[NSRunLoop mainRunLoop] cancelPerformSelectorsWithTarget:self];

Метод doSomething по-прежнему вызывается. Что я делаю не так?

1 Ответ

1 голос
/ 22 октября 2010

В ссылке на класс NSObject:

cancelPreviousPerformRequestsWithTarget: selector: object:

Отменяет выполнение запросов, ранее зарегистрированных с executeSelector: withObject: afterDelay:.

Использование:

[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(doSomething) object:nil];

Надеюсь, это поможет.

...