Sobes.tech
Junior — Middle

Comment le traitement de plusieurs écouteurs liés à un seul événement de clic est-il effectué?

sobes.tech IA

Réponse de l'IA

Sur iOS, si un événement, par exemple un clic (touchUpInside), est associé à plusieurs écouteurs (target-action), ils sont appelés dans l'ordre d'ajout. Chaque écouteur reçoit l'événement et peut exécuter sa propre logique.

Si vous souhaitez contrôler l'ordre ou empêcher le traitement ultérieur, vous pouvez le gérer dans le gestionnaire, par exemple en désactivant d'autres écouteurs ou en utilisant des drapeaux. Cependant, le mécanisme standard de UIKit ne fournit pas de moyen intégré d'arrêter la propagation de l'événement entre les écouteurs.

Exemple d'ajout de plusieurs gestionnaires à un UIButton:

button.addTarget(self, action: #selector(firstHandler), for: .touchUpInside)
button.addTarget(self, action: #selector(secondHandler), for: .touchUpInside)

@objc func firstHandler() {
    print("Premier gestionnaire")
}

@objc func secondHandler() {
    print("Deuxième gestionnaire")
}

Lors du clic, les deux gestionnaires seront appelés en ordre.