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.