Sobes.tech
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.