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