Junior — Middle
¿Qué estructura de datos es adecuada para modelar eventos de pulsación de botones o teclas?
sobes.tech AI
Respuesta de la IA
Para modelar eventos de pulsación de botones o teclas, a menudo se utiliza una cola (Queue). Es adecuada porque los eventos llegan en orden de ocurrencia y deben procesarse de manera secuencial. La cola garantiza el orden FIFO (primero en entrar, primero en salir), lo cual corresponde a la lógica de procesamiento de eventos de usuario.
Ejemplo en Swift usando un array como cola:
var eventQueue: [UIEvent] = []
// Añadir evento a la cola
func enqueue(event: UIEvent) {
eventQueue.append(event)
}
// Procesar evento de la cola
func dequeue() -> UIEvent? {
guard !eventQueue.isEmpty else { return nil }
return eventQueue.removeFirst()
}
En iOS también se usan frecuentemente delegados y manejadores de eventos, pero para almacenamiento interno y procesamiento secuencial, la cola es la opción óptima.