Sobes.tech
Junior — Middle

Milline andmestruktuur sobib hästi nuppude või klahvide vajutamise sündmuste modelleerimiseks?

sobes.tech AI

Vastus AI-lt

Kasutades nuppude või klaviatuuril klahvide vajutamise sündmuste modelleerimiseks kasutatakse sageli järjekorda (Queue). See sobib hästi, kuna sündmused jõuavad nende tekkimise järjekorras ja neid tuleb töödelda järjestikku. Järjekord tagab FIFO (first-in, first-out) järjekorra, mis vastab kasutaja sündmuste töötlemise loogikale.

Näide Swiftis, kasutades massiivi järjekorrana:

var eventQueue: [UIEvent] = []

// Sündmuse lisamine järjekorda
func enqueue(event: UIEvent) {
    eventQueue.append(event)
}

// Sündmuse töötlemine järjekorrast
func dequeue() -> UIEvent? {
    guard !eventQueue.isEmpty else { return nil }
    return eventQueue.removeFirst()
}

iOS-is kasutatakse sageli ka delegaate ja sündmuste käsitlejaid, kuid sisemiselt salvestamiseks ja järjestikuseks töötlemiseks on järjekord optimaalne valik.