Junior — Middle
Como é que é feita a gestão de múltiplos ouvintes ligados a um único evento de clique?
sobes.tech IA
Resposta da IA
No iOS, se um evento, por exemplo, um toque (touchUpInside), estiver associado a vários ouvintes (target-action), eles são chamados na ordem de adição. Cada ouvinte recebe o evento e pode executar sua lógica.
Se precisar controlar a ordem ou impedir o processamento posterior, pode gerenciar isso dentro do manipulador, por exemplo, desativando outros ouvintes ou usando flags. No entanto, o mecanismo padrão do UIKit não fornece uma maneira embutida de parar a propagação do evento entre os ouvintes.
Exemplo de adicionar vários manipuladores a um UIButton:
button.addTarget(self, action: #selector(firstHandler), for: .touchUpInside)
button.addTarget(self, action: #selector(secondHandler), for: .touchUpInside)
@objc func firstHandler() {
print("Primeiro manipulador")
}
@objc func secondHandler() {
print("Segundo manipulador")
}
Ao clicar, ambos os manipuladores serão chamados em sequência.