Avatar ·

Comment utiliser dispatch_after dans Swift 3, 4 et 5 pour une exécution différée ?

Bonjour ! Je suis débutant en Swift et j'essaie de migrer un ancien code Objective-C où j'utilisais dispatch_after pour retarder l'exécution. Avant, j'écrivais quelque chose comme : ```objective-c dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"2 secondes se sont écoulées"); }); ``` Mais dans Swift 3 et versions ultérieures, cela ne fonctionne pas. J'ai essayé d'écrire : ```swift dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2.0 * Double(NSEC_PER_SEC))), DispatchQueue.main, { print("2 secondes se sont écoulées") }) ``` Mais Xcode donne une erreur : "Use of unresolved identifier 'dispatch_after'". Je comprends que GCD a beaucoup changé, mais je ne trouve pas d'exemple clair pour Swift 3/4/5. Veuillez expliquer comment faire correctement un délai de 2 secondes avec exécution sur le thread principal. J'ai besoin d'un exemple simple et fonctionnel que je puisse insérer dans mon code. Merci d'avance ! <<>>

La bonne façon d'exécuter une tâche différée dans Swift 3+

Dans Swift 3, l'API