Avatar ·

Como fazer um delay em Swift 3? Estou usando DispatchQueue, mas o código não funciona

Olá a todos! Estou migrando para Swift 3 e tentando implementar um simples delay antes de executar um código. Antes, no Swift 2, eu usava dispatch_after, mas agora esse método está obsoleto. Vi que preciso usar DispatchQueue, mas não estou conseguindo. Aqui está meu código: ```swift DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { print("Passaram-se 2 segundos") } ``` O compilador dá erro: "Cannot convert value of type '()' to expected argument type 'DispatchTime'". Tentei diferentes variações, como escrever `DispatchTime.now() + 2.0`, mas aí o erro é sobre "Binary operator '+' cannot be applied to operands of type 'DispatchTime' and 'Double'". Alguém pode me dizer como fazer um delay corretamente em Swift 3? Preciso que, após uma pausa de 2 segundos, um bloco de código seja executado. Se possível, mostre um exemplo com diferentes opções: na thread principal e em background. Desde já, obrigado! P.S. Estou usando Xcode 8, Swift 3. <<>>

Maneira correta de fazer um delay em Swift 3

O