Avatar ·

Comment faire un délai (delay) en Swift 3 ? J'utilise DispatchQueue mais le code ne fonctionne pas

Bonjour à tous ! Je passe à Swift 3 et j'essaie d'implémenter un simple délai avant l'exécution du code. Avant, dans Swift 2, j'utilisais dispatch_after, mais maintenant cette méthode est dépréciée. J'ai vu qu'il fallait utiliser DispatchQueue, mais je n'y arrive pas. Voici mon code : ```swift DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { print("2 secondes se sont écoulées") } ``` Le compilateur donne une erreur : "Cannot convert value of type '()' to expected argument type 'DispatchTime'". J'ai essayé différentes variantes, par exemple écrire `DispatchTime.now() + 2.0`, mais alors l'erreur est : "Binary operator '+' cannot be applied to operands of type 'DispatchTime' and 'Double'". Dites-moi comment faire correctement un délai en Swift 3 ? J'ai besoin qu'après une pause de 2 secondes, un bloc de code s'exécute. Si possible, montrez un exemple avec différentes options : sur le thread principal et en arrière-plan. Merci d'avance ! P.S. J'utilise Xcode 8, Swift 3. <<>>

La bonne façon de faire un délai en Swift 3

P