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