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