Junior — Middle
Welke gegevensstructuur is geschikt voor het modelleren van knop- of toetsdrukgebeurtenissen?
sobes.tech AI
Antwoord van AI
Om gebeurtenissen van het indrukken van knoppen of toetsen te modelleren, wordt vaak een wachtrij (Queue) gebruikt. Het is geschikt omdat gebeurtenissen in de volgorde van hun ontstaan binnenkomen en sequentieel moeten worden verwerkt. De wachtrij garandeert de FIFO-volgorde (first-in, first-out), wat overeenkomt met de logica van gebruikersgebeurtenissenverwerking.
Voorbeeld in Swift met gebruik van een array als wachtrij:
var eventQueue: [UIEvent] = []
// Voeg gebeurtenis toe aan de wachtrij
func enqueue(event: UIEvent) {
eventQueue.append(event)
}
// Verwerk gebeurtenis uit de wachtrij
func dequeue() -> UIEvent? {
guard !eventQueue.isEmpty else { return nil }
return eventQueue.removeFirst()
}
In iOS worden ook vaak delegates en event handlers gebruikt, maar voor intern opslag en sequentiële verwerking is de wachtrij de optimale keuze.