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