Como criar um delay em Swift? Preciso de uma maneira simples e confiável
Olá a todos! Comecei a estudar Swift e Xcode recentemente e tive um problema. Preciso pausar a execução do código, por exemplo, para mostrar uma animação de carregamento por 2 segundos e depois navegar para outra tela. Em outras linguagens, como JavaScript, eu simplesmente usava setTimeout. Mas em Swift ainda não encontrei uma maneira simples e clara.
Tentei usar Thread.sleep(forTimeInterval: 2), mas isso parece bloquear completamente a interface — o aplicativo congela por 2 segundos e nada funciona. Definitivamente não é o que preciso. Ouvi falar sobre GCD (Grand Central Dispatch) e asyncAfter, mas a sintaxe parece complicada. Também existe algum Timer, mas não tenho certeza de como usá-lo corretamente para um delay simples.
Por favor, me indiquem a maneira mais simples e correta de fazer um delay em Swift sem bloquear a thread principal (UI). Preciso apenas executar algum código 2 segundos após pressionar um botão. De preferência com um exemplo que eu possa copiar e usar imediatamente. Desde já, agradeço.