Кто-нибудь знает, можно ли отменить уже поставленные в очередь события селектора из стека событий или стека таймера (или любого другого механизма, который используется API) при вызове performSelector:withObject:afterDelay
?
Я использовал этот стек событий для изменения атрибутов изображения на вкладке TabBar и иногда ставил в очередь до 10 секунд изменений в одном быстро выполняемом цикле for ... может быть, 5 миллисекунд или около того.
проблема возникает, если пользователь переключает вкладки ... например, у меня есть изменения изображения в очереди для изображения, которое отображается, как только Вкладка №4 включена, а затем пользователь быстро переключается на Вкладку №3, а затем обратно на вкладку # 4 ... это будет затем повторно ставить в очередь еще 10 секунд изменений, в то время как старая очередь все еще играет, вероятно, около 2 или 3 секунд в очереди, если переключаться достаточно быстро ... но даже достигнув 5 секунд до поток был проблемой.
поэтому мне нужно было каким-то образом отменить старый стек изменений, прежде чем вставлять новый стек ...
Я пишу этот запрос в прошедшем времени, потому что я уже придумал альтернативное решение этой проблемы, добавив фильтр событий с «ястребиными глазами» в функцию воспроизведения. однако мне все еще любопытно, возможна ли отмена мероприятия, потому что я чувствую, что такие знания пригодятся в будущем. спасибо за любую оказанную помощь :)