AppState
June 11, 2026 · View on GitHub
Leia isto em outros idiomas: Inglês | Francês | Alemão | Hindi | Russo | Chinês Simplificado | Espanhol
AppState é uma biblioteca Swift 6 para gerenciar o estado da aplicação de uma forma segura para threads, segura para tipos e amigável ao SwiftUI. Centralize e sincronize o estado em toda a sua aplicação; injete dependências em qualquer lugar.
Requisitos
- iOS: 17.0+
- watchOS: 10.0+
- macOS: 14.0+
- tvOS: 17.0+
- visionOS: 1.0+
- Swift: 6.0+
- Xcode: 16.0+
Suporte a plataformas não-Apple: Linux e Windows
🍎 Recursos marcados com este símbolo são específicos para plataformas Apple, pois dependem de tecnologias da Apple, como iCloud e o Keychain.
Principais Recursos
AppState inclui:
- State: Gerenciamento de estado centralizado que permite encapsular e transmitir alterações em todo o aplicativo.
- StoredState: Estado persistente usando
UserDefaults, ideal para salvar pequenas quantidades de dados entre as inicializações do aplicativo. - FileState: Estado persistente armazenado usando
FileManager, útil para armazenar grandes quantidades de dados com segurança no disco. - 🍎 SwiftData (ModelState): Gerencie objetos
@Modeldo SwiftData através do AppState, injetando umModelContainercompartilhado e lendo/gravando modelos comModelState. - 🍎 SyncState: Sincronize o estado em vários dispositivos usando o iCloud, garantindo a consistência nas preferências e configurações do usuário.
- 🍎 SecureState: Armazene dados confidenciais com segurança usando o Keychain, protegendo informações do usuário, como tokens ou senhas.
- Gerenciamento de Dependências: Injete dependências como serviços de rede ou clientes de banco de dados em todo o seu aplicativo para melhor modularidade e testes.
- Slicing: Acesse partes específicas de um estado ou dependência para controle granular sem a necessidade de gerenciar todo o estado da aplicação.
- Constants: Acesse fatias somente leitura do seu estado quando precisar de valores imutáveis.
- Observed Dependencies: Observe as dependências
ObservableObjectpara que suas visualizações sejam atualizadas quando elas mudarem.
Começando
Adicione o AppState via Swift Package Manager — consulte o Guia de Instalação. Em seguida, confira a Visão Geral do Uso para uma introdução rápida.
Exemplo Rápido
import AppState
import SwiftUI
private extension Application {
var counter: State<Int> {
state(initial: 0)
}
}
struct ContentView: View {
@AppState(\.counter) var counter: Int
var body: some View {
VStack {
Text("Count: \(counter)")
Button("Increment") { counter += 1 }
}
}
}
Documentação
Aqui está um detalhamento da documentação do AppState:
- Guia de Instalação: Como adicionar o AppState ao seu projeto usando o Swift Package Manager.
- Visão Geral do Uso: Uma visão geral dos principais recursos com exemplos de implementação.
Guias de Uso Detalhados:
- Gerenciamento de Estado e Dependência: Centralize o estado e injete dependências em todo o seu aplicativo.
- Fatiando o Estado: Acesse e modifique partes específicas do estado.
- Guia de Uso do StoredState: Como persistir dados leves usando
StoredState. - Guia de Uso do FileState: Aprenda a persistir grandes quantidades de dados com segurança no disco.
- 🍎 Guia de Uso do ModelState: Gerencie objetos
@Modeldo SwiftData através de umModelContainercompartilhado. - Uso do SecureState com Keychain: Armazene dados confidenciais com segurança usando o Keychain.
- Sincronização com iCloud com SyncState: Mantenha o estado sincronizado em todos os dispositivos usando o iCloud.
- Atualizando para o AppState 3.0: Alterações que quebram a compatibilidade e como migrar da linha de lançamento 2.x.
- FAQ: Respostas a perguntas comuns ao usar o AppState.
- Guia de Uso de Constantes: Acesse valores somente leitura do seu estado.
- Guia de Uso de ObservedDependency: Trabalhe com dependências
ObservableObjectem suas visualizações. - Uso Avançado: Técnicas como criação just-in-time e pré-carregamento de dependências.
- Melhores Práticas: Dicas para estruturar o estado do seu aplicativo de forma eficaz.
- Considerações sobre Migração: Orientação ao atualizar modelos persistidos.
Contribuições
Aceitamos contribuições! Por favor, confira nosso Guia de Contribuição para saber como se envolver.
Próximos Passos
Comece com a Visão Geral do Uso. Para criação Just-In-Time e pré-carregamento, consulte o Guia de Uso Avançado. Os guias Constant e ObservedDependency cobrem recursos adicionais.
Esta tradução foi gerada automaticamente e pode conter erros. Se você é um falante nativo, agradecemos suas contribuições com correções por meio de um Pull Request.