Avatar ·

Comment créer un délai (delay) en Swift ? J'ai besoin d'une méthode simple et fiable

Bonjour à tous ! Je viens de commencer à apprendre Swift et Xcode, et j'ai rencontré un problème. J'ai besoin de faire une pause dans l'exécution du code, par exemple, pour afficher une animation de chargement pendant 2 secondes, puis passer à un autre écran. Dans d'autres langages, comme JavaScript, j'utilisais simplement setTimeout. Mais en Swift, je n'ai pas encore trouvé de méthode simple et claire. J'ai essayé d'utiliser Thread.sleep(forTimeInterval: 2), mais cela semble bloquer complètement l'interface — l'application se fige pendant 2 secondes et rien ne fonctionne. Ce n'est clairement pas ce qu'il faut. J'ai entendu parler de GCD (Grand Central Dispatch) et de asyncAfter, mais la syntaxe semble compliquée. Il y a aussi un Timer, mais je ne suis pas sûr de comment l'utiliser correctement pour un simple délai. Pouvez-vous me donner la méthode la plus simple et correcte pour créer un délai en Swift sans bloquer le thread principal (UI) ? J'ai juste besoin d'exécuter du code 2 secondes après avoir appuyé sur un bouton. Idéalement avec un exemple que je puisse copier et utiliser directement. Merci d'avance.