Comment créer un délai (delay) en Swift : guide complet
Bonjour à tous ! Je suis débutant en Swift et en développement iOS. J'écris une application simple pour m'entraîner — un minuteur de compte à rebours. J'ai besoin qu'après avoir appuyé sur le bouton "Démarrer", le programme attende 3 secondes, puis exécute une action (par exemple, afficher un message ou lancer une animation).
J'ai essayé d'utiliser `sleep(3)`, mais cela semble bloquer toute l'interface — l'application se fige pendant 3 secondes et les boutons ne répondent plus. Ce n'est pas ce qu'il faut.
Pouvez-vous me dire comment faire correctement un délai en Swift pour que l'interface reste réactive ? De préférence avec un exemple de code pour iOS (UIKit ou SwiftUI). J'ai entendu parler de `DispatchQueue.main.asyncAfter`, mais je ne comprends pas bien comment cela fonctionne.
Voici mon code actuel (incorrect) :
```swift
@IBAction func startButtonTapped(_ sender: UIButton) {
print("Début du délai...")
sleep(3) // Cela bloque l'UI
print("3 secondes se sont écoulées")
// Ici, mise à jour de l'UI
}
```
Merci d'avance pour votre aide !
<<>>
Correct
No answers yet.
Connectez-vous pour laisser une réponse
Blogs