Junior — Middle
Qual estrutura de dados é adequada para modelar eventos de pression de botões ou teclas?
sobes.tech IA
Resposta da IA
Para modelar eventos de pression de botões ou teclas, costuma-se usar uma fila (Queue). Ela é adequada porque os eventos chegam na ordem de ocorrência e devem ser processados sequencialmente. A fila garante a ordem FIFO (first-in, first-out), o que corresponde à lógica de processamento de eventos do usuário.
Exemplo em Swift usando um array como fila:
var eventQueue: [UIEvent] = []
// Adicionar evento à fila
func enqueue(event: UIEvent) {
eventQueue.append(event)
}
// Processar evento da fila
func dequeue() -> UIEvent? {
guard !eventQueue.isEmpty else { return nil }
return eventQueue.removeFirst()
}
No iOS, também são frequentemente usados delegados e manipuladores de eventos, mas para armazenamento interno e processamento sequencial, a fila é a escolha ideal.