Repository navigation
Home
JoaoSilva edited this page Oct 1, 2026
·
5 revisions
Estado atual — 01/10/2026: Estado-Atual reúne contrato, integração, limitações e validação da sincronização. Registros anteriores abaixo são históricos.
Welcome to the vejaOprecoApp wiki!
-
Arquitetura Firebase: Implementação da conexão
Firestore.firestore()e estruturação da decodificação assíncrona (async/await) utilizandocompactMapparaOfertaItem. - Estudos e Mapeamento: Diferenciação do ciclo de vida de Threads vs Memória (ARC) e integração transparente de dados do Firestore no ecossistema Swift.
-
Servidor MCP: Adequação do apontamento e diretório para o backend (
veja-o-preco-backend).
-
Arquitetura MVVM: Refatoração da
OfertasViewModelpara injetar oFirebaseServicede verdade em substituição aos Mocks de teste. -
Concorrência Segura (MainActor): Análise e implementação do atributo
@MainActorpara resolver o "Thread Confinement". Garantia de que modificações no estado (@Published) disparadas pelaTaskde background publiquem atualizações estritamente na Main Thread, prevenindo travamentos e purple warnings de UI. - Separação de Responsabilidades: Consolidação da regra de que a ViewModel não constrói a tela, atuando unicamente como gestora de estado ("Locutor de Rádio") para a View ("Ouvinte").
-
Error Handling (Tratamento de Erros): Refinamento do
FirebaseService.swift. Substituição da palavratrypurista pelotry?dentro da varredura docompactMap. Essa abordagem amansa o early-exit da Thread e permite o descarte silencioso (nil) apenas do item defeituoso, garantindo a integridade e resiliência da coleção de ofertas, sem falhar a listagem inteira. -
Codable no Firebase: Adição do módulo oficial
FirebaseFirestoreSwiftpara expor o "Syntactic Sugar" de parsing via.data(as:). -
Motor de Concorrência (Concurrency Runtime): Desconstrução conceitual aprofundada da relação estrita entre as assinaturas
async ↔ await(suspensão sem bloqueio da CPU) ethrows ↔ try(propagação e mitigação de erros), mapeando o Yield da Thread e o controle de estado no ecossistema Swift.