Junior — Middle
Aká dátová štruktúra je vhodná na modelovanie udalostí stlačenia tlačidiel alebo klávesov?
sobes.tech AI
Odpoveď od AI
Na modelovanie udalostí stlačenia tlačidiel alebo klávesníc sa často používa fronta (Queue). Je vhodná, pretože udalosti prichádzajú v poradí ich vzniku a musia byť spracované sekvenčne. Fronta zabezpečuje poradie FIFO (first-in, first-out), čo zodpovedá logike spracovania používateľských udalostí.
Príklad v Swift s použitím poľa ako fronty:
var eventQueue: [UIEvent] = []
// Pridanie udalosti do fronty
func enqueue(event: UIEvent) {
eventQueue.append(event)
}
// Spracovanie udalosti z fronty
func dequeue() -> UIEvent? {
guard !eventQueue.isEmpty else { return nil }
return eventQueue.removeFirst()
}
V iOS sa tiež často používajú delegáti a spracovatelia udalostí, ale pre vnútorné uloženie a sekvenčné spracovanie je fronta optimálnou voľbou.