Avatar ·

Como usar dispatch_after no Swift 3, 4 e 5 para atrasar a execução de código

Olá a todos! Comecei a aprender Swift e estou tentando entender programação assíncrona. Antes, vi muitos exemplos com dispatch_after em Objective-C e versões antigas do Swift, mas agora, quando escrevo em Swift 5, esse método não funciona. Estou tentando executar algum código após 2 segundos, mas o compilador dá erro. Aqui está o que tentei: ```swift dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2 * NSEC_PER_SEC)), dispatch_get_main_queue()) { print("Passaram-se 2 segundos") } ``` O Xcode diz que dispatch_after não existe e sugere usar métodos estranhos com asyncAfter. Li a documentação, mas parece muito complicada para um iniciante. Preciso de uma explicação simples: como fazer um delay corretamente no Swift 5? De preferência com exemplos que funcionam em código moderno. Obrigado desde já! <<>>

A maneira correta de atrasar a execução no Swift 3, 4 e 5

De fato, a partir do Swift 3, a Apple mudou a API do Grand Central Dispatch (