Back home

SwiftUI Series 12|A relação entre SwiftUI, Combine e Observação

O que realmente precisa ser diferenciado é como as mudanças de status são observadas, propagadas e fechadas.

Quando aprendi sobre o gerenciamento de estado do SwiftUI, em algum momento ficaria confuso com estas palavras:

-ObservableObject -@Published -Combinar -Observação

A pergunta geralmente é:

  • Todos estão relacionados a “mudanças de estado gerarão atualizações de interface”
  • Mas não no mesmo andar

Então o que realmente precisa ser esclarecido é:

  • Quem possui o status
  • Como as mudanças são observadas
  • Como passar a observação para a interface

1. Combinação e Observação não respondem realmente a perguntas no mesmo nível.

Uma situação comum é compará-los diretamente como relacionamentos substitutos. Mas uma compreensão mais prática é:

  • Combine é mais como um conjunto de ferramentas universais de streaming reativo
  • A observação é mais como um mecanismo para observação do estado na era SwiftUI

Em outras palavras, o Combine tem uma consciência mais ampla do problema e a Observação está mais próxima de “como o estado da interface é rastreado e atualizado”.

2. O que muitas equipes realmente precisam é não bagunçar primeiro a cadeia de propagação de status.

Os problemas mais comuns em projetos reais são:

  • O proprietário do status é desconhecido
  • Não está claro de onde vêm as mudanças
  • Não está claro qual camada está observando e qual camada está convertendo.

Neste momento, não importa o nome usado para a camada inferior, a página ficará facilmente confusa.

3. Um julgamento prático: O que é necessário agora é “o estado é observado pela interface” ou “o fluxo de eventos é combinado e processado”

Se a sua principal preocupação for:

  • Mudanças no status da página
  • Atualização do ViewModel
  • UI é atualizada com status

O estilo Observação geralmente é mais natural.

Se você está mais preocupado com:

  • Mesclar várias fontes de eventos assíncronos
  • Tratamento de eventos de streaming
  • Combinações de cadeias de eventos mais versáteis

A consciência que a Combine tem das questões ainda é valiosa.

4. Conclusão: primeiro endireite as fronteiras do estado e depois fale sobre o mecanismo de observação específico

Para resumir, eu diria:

No SwiftUI, a verdadeira chave para o relacionamento entre Combinação e Observação é se os proprietários do estado, as fontes de mudança e os limites de observação da interface são primeiro corrigidos.

Quando os limites forem claros, a seleção tecnológica será muito mais clara; Quando os limites não são claros, mudar qualquer mecanismo apenas mudará o nome e continuará o caos.

FAQ

What to read next

Related

Continue reading