Junior — Middle
Ce structură de date este potrivită pentru modelarea evenimentelor de apăsare a butoanelor sau tastelor?
sobes.tech AI
Răspuns de la AI
Pentru modelarea evenimentelor de apăsare a butoanelor sau tastelor, se folosește adesea o coadă (Queue). Este potrivită deoarece evenimentele sosesc în ordinea apariției și trebuie procesate secvențial. Coada asigură ordinea FIFO (first-in, first-out), ceea ce corespunde logicii de procesare a evenimentelor utilizatorului.
Exemplu în Swift folosind un array ca și coadă:
var eventQueue: [UIEvent] = []
// Adăugarea unui eveniment în coadă
func enqueue(event: UIEvent) {
eventQueue.append(event)
}
// Procesarea evenimentului din coadă
func dequeue() -> UIEvent? {
guard !eventQueue.isEmpty else { return nil }
return eventQueue.removeFirst()
}
În iOS, se folosesc adesea delegați și handleri de evenimente, dar pentru stocare internă și procesare secvențială, coada este alegerea optimă.