Como usar corretamente dispatch_after em Swift para atrasar a execução de código?
Olá! Estou começando a aprender Swift e tentando entender o Grand Central Dispatch. Antes, em Objective-C, eu usava frequentemente dispatch_after para executar código com atraso, por exemplo:
```objc
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSLog(@"Passaram-se 2 segundos");
});
```
Mas agora, quando escrevo em Swift, não tenho certeza de como reescrever esse código corretamente. Tentei algo como:
```swift
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue()) {
print("Passaram-se 2 segundos")
}
```
Mas o compilador reclama da sintaxe. Vi que no Swift 3 e superiores, muitas coisas mudaram na API do GCD, e a forma antiga parou de funcionar. Preciso executar um atraso antes de atualizar a UI (por exemplo, mostrar um alerta ou alterar um label). Pode me dizer como fazer isso corretamente no Swift moderno? De preferência com exemplos de código para que eu entenda exatamente como funciona. Desde já, obrigado!