Junior — Middle
Quale struttura dati è adatta per modellare eventi di pressione di pulsanti o tasti?
sobes.tech AI
Risposta dell'AI
Per modellare gli eventi di pressione di pulsanti o tasti, si utilizza spesso una coda (Queue). È adatta perché gli eventi arrivano in ordine di occorrenza e devono essere elaborati in modo sequenziale. La coda garantisce l'ordine FIFO (first-in, first-out), che corrisponde alla logica di elaborazione degli eventi utente.
Esempio in Swift usando un array come coda:
var eventQueue: [UIEvent] = []
// Aggiungi evento alla coda
func enqueue(event: UIEvent) {
eventQueue.append(event)
}
// Elabora evento dalla coda
func dequeue() -> UIEvent? {
guard !eventQueue.isEmpty else { return nil }
return eventQueue.removeFirst()
}
In iOS si usano spesso anche delegati e gestori di eventi, ma per l'archiviazione interna e l'elaborazione sequenziale, la coda è la scelta ottimale.