Olá, eu vi que nos outros cursos está se usando async await que eu entendi que substitui o uso do completion e do dispatchqueue, porque nesse curso que parece ser mais recente voltou a usar closure?
Olá, eu vi que nos outros cursos está se usando async await que eu entendi que substitui o uso do completion e do dispatchqueue, porque nesse curso que parece ser mais recente voltou a usar closure?
Olá Gisele! Como vai?
Entendi sua dúvida sobre a escolha entre DispatchQueue
e async/await
. A decisão de usar um ou outro pode depender de vários fatores, incluindo a compatibilidade com versões anteriores do Swift e o design do curso em questão.
O async/await
é uma maneira moderna e mais legível de lidar com operações assíncronas introduzida no Swift 5.5. Ele simplifica o código, tornando-o mais linear e fácil de entender, eliminando a necessidade de closures complexas e o uso explícito de DispatchQueue
para gerenciar threads.
Por outro lado, o uso de DispatchQueue
ainda é muito comum, especialmente em projetos que precisam ser compatíveis com versões mais antigas do Swift ou que seguem um padrão de design específico, como o uso de delegates e protocolos, que é o foco do curso que você está fazendo.
No contexto do curso, o uso de DispatchQueue.main.async
é necessário para garantir que as atualizações de interface do usuário ocorram na thread principal, o que é uma prática comum em desenvolvimento iOS. Isso não impede o uso de async/await
, mas aprender padrões de design, como o uso de delegates, é fundamental para entender a arquitetura de aplicativos iOS.
É sempre bom estar familiarizada com ambos os métodos, pois cada um tem suas vantagens e pode ser mais adequado dependendo do contexto do projeto em que você está trabalhando.
Espero ter ajudado!
Siga firme nos seus estudos e conte com o fórum sempre que precisar!
Abraços :)
Obrigada. Delegate não tem no SwiftUI, né?