qualcuno sa se è possibile annullare gli eventi del selettore già accodati dallo stack degli eventi o dallo stack del timer (o qualsiasi meccanismo sia utilizzato dall'API) quando si chiama performSelector:withObject:afterDelay
?
Stavo usando questo stack di eventi per modificare gli attributi di un'immagine all'interno di una scheda TabBar e talvolta mettevo in coda fino a 10 secondi di modifiche in uno eseguito rapidamente per ciclo ... forse 5 millisecondi o giù di lì.
il problema sorge se l'utente cambia scheda ... come dire che ho le alterazioni dell'immagine in coda per un'immagine che viene visualizzata non appena la scheda n. 4 viene abilitata, quindi l'utente passa rapidamente alla scheda n. 3 e poi torna subito alla scheda # 4 ... questo reinserirebbe quindi altri 10 secondi di alterazioni mentre la vecchia coda era ancora in riproduzione, probabilmente circa 2 o 3 secondi nella coda se cambiata abbastanza velocemente ... ma arrivando anche a 5 secondi dopo il flusso era un problema.
quindi avevo bisogno di un modo per annullare la vecchia pila di modifiche prima di inserire una nuova pila su ...
Sto scrivendo questa query al passato perché ho già trovato una soluzione alternativa a questo problema aggiungendo un filtro di eventi con occhi di falco sulla funzione di riproduzione. tuttavia sono ancora curioso di sapere se è possibile annullare un evento, perché ho la sensazione che tale conoscenza tornerà utile in futuro. grazie per qualsiasi assistenza resa :)