est-ce que quelqu'un sait s'il est possible d'annuler les événements de sélecteur déjà mis en file d'attente à partir de la pile d'événements ou de la pile de minuterie (ou de tout mécanisme utilisé par l'API) lorsque vous appelez performSelector:withObject:afterDelay
?
J'utilisais cette pile d'événements pour modifier les attributs d'une image dans un onglet TabBar, et je mettais parfois en file d'attente jusqu'à 10 secondes de modifications dans une boucle exécutée rapidement pour ... peut-être 5 millisecondes environ.
le problème survient si l'utilisateur change d'onglet ... comme disons que les modifications d'image sont mises en file d'attente pour une image qui s'affiche dès que l'onglet n ° 4 est activé, puis l'utilisateur passe rapidement à l'onglet n ° 3, puis revient directement à l'onglet # 4 ... cela remettrait ensuite en file d'attente 10 secondes supplémentaires de modifications pendant que l'ancienne file d'attente était encore en cours de lecture, probablement environ 2 ou 3 secondes dans la file d'attente si elle était commutée assez rapidement ... mais même en arrivant à 5 secondes pour le flux était un problème.
j'avais donc besoin d'un moyen d'annuler l'ancienne pile de modifications avant de mettre une nouvelle pile sur ...
J'écris cette requête au passé car j'ai déjà proposé une solution alternative à ce problème en ajoutant un filtre d'événement aux yeux de faucon sur la fonction de lecture. Cependant, je suis toujours curieux de savoir si l'annulation d'un événement est possible, car j'ai le sentiment qu'une telle connaissance sera utile à l'avenir. merci pour toute assistance rendue :)