Avatar ·

Como usar dispatch_after no Swift 3, 4 e 5 para execução atrasada?

Olá! Sou novo em Swift e estou tentando migrar um código antigo de Objective-C, onde eu usava dispatch_after para atrasar a execução. Antes, eu escrevia algo como: ```objective-c dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"Passaram-se 2 segundos"); }); ``` Mas no Swift 3 e superiores isso não funciona. Tentei escrever assim: ```swift dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2.0 * Double(NSEC_PER_SEC))), DispatchQueue.main, { print("Passaram-se 2 segundos") }) ``` Mas o Xcode dá erro: "Use of unresolved identifier 'dispatch_after'". Entendo que o GCD mudou bastante, mas não consigo encontrar um exemplo claro para Swift 3/4/5. Por favor, explique como fazer corretamente um atraso de 2 segundos com execução na thread principal. Preciso de um exemplo simples e funcional para inserir no meu código. Desde já, obrigado! <<>>

Forma correta de execução atrasada no Swift 3+

No Swift 3, a API