Junior — Middle
Milyen adatszerkezet alkalmas gombok vagy billentyűk lenyomásának eseményeinek modellezésére?
sobes.tech MI
Válasz az MI-től
Az események, például gombnyomások vagy billentyűleütések modellezéséhez gyakran használnak sorokat (Queue). Ez jó választás, mert az események érkezési sorrendben jönnek, és egymás után kell őket feldolgozni. A sor biztosítja az FIFO (első be, első ki) sorrendet, ami megfelel a felhasználói események feldolgozásának logikájának.
Swift példában tömböt használva sorként:
var eventQueue: [UIEvent] = []
// Esemény hozzáadása a sorhoz
func enqueue(event: UIEvent) {
eventQueue.append(event)
}
// Esemény feldolgozása a sorból
func dequeue() -> UIEvent? {
guard !eventQueue.isEmpty else { return nil }
return eventQueue.removeFirst()
}
Az iOS-ben gyakran használnak delegáltakat és eseménykezelőket is, de belső tárolásra és szekvenciális feldolgozásra a sor a legjobb választás.