AppState

June 11, 2026 · View on GitHub

macOS Build Ubuntu Build Windows Build License Version

AppState ist eine Swift 6-Bibliothek, die entwickelt wurde, um die Verwaltung des Anwendungszustands auf eine threadsichere, typsichere und SwiftUI-freundliche Weise zu vereinfachen. Sie bietet eine Reihe von Werkzeugen, um den Zustand in Ihrer gesamten Anwendung zu zentralisieren und zu synchronisieren sowie Abhängigkeiten in verschiedene Teile Ihrer App zu injizieren.

Anforderungen

  • iOS: 17.0+
  • watchOS: 10.0+
  • macOS: 14.0+
  • tvOS: 17.0+
  • visionOS: 1.0+
  • Swift: 6.0+
  • Xcode: 16.0+

Unterstützung für Nicht-Apple-Plattformen: Linux & Windows

🍎 Mit diesem Symbol gekennzeichnete Funktionen sind spezifisch für Apple-Plattformen, da sie auf Apple-Technologien wie iCloud und dem Schlüsselbund basieren.

Hauptmerkmale

AppState enthält mehrere leistungsstarke Funktionen zur Verwaltung von Zustand und Abhängigkeiten:

  • State: Zentralisierte Zustandsverwaltung, die es Ihnen ermöglicht, Änderungen in der gesamten App zu kapseln und zu übertragen.
  • StoredState: Persistenter Zustand mit UserDefaults, ideal zum Speichern kleiner Datenmengen zwischen App-Starts.
  • FileState: Persistenter Zustand, der mit FileManager gespeichert wird und nützlich ist, um größere Datenmengen sicher auf der Festplatte zu speichern.
  • 🍎 SwiftData (ModelState): Verwalten Sie SwiftData-@Model-Objekte über AppState, indem Sie einen gemeinsam genutzten ModelContainer injizieren und Modelle mit ModelState lesen/schreiben.
  • 🍎 SyncState: Synchronisieren Sie den Zustand über mehrere Geräte mit iCloud und stellen Sie die Konsistenz der Benutzereinstellungen sicher.
  • 🍎 SecureState: Speichern Sie sensible Daten sicher mit dem Schlüsselbund und schützen Sie Benutzerinformationen wie Token oder Passwörter.
  • Abhängigkeitsmanagement: Injizieren Sie Abhängigkeiten wie Netzwerkdienste oder Datenbankclients in Ihre gesamte App für eine bessere Modularität und Testbarkeit.
  • Slicing: Greifen Sie auf bestimmte Teile eines Zustands oder einer Abhängigkeit zu, um eine granulare Kontrolle zu erhalten, ohne den gesamten Anwendungszustand verwalten zu müssen.
  • Constants: Greifen Sie auf schreibgeschützte Teile Ihres Zustands zu, wenn Sie unveränderliche Werte benötigen.
  • Observed Dependencies: Beobachten Sie ObservableObject-Abhängigkeiten, damit Ihre Ansichten aktualisiert werden, wenn sie sich ändern.

Erste Schritte

Um AppState in Ihr Swift-Projekt zu integrieren, müssen Sie den Swift Package Manager verwenden. Befolgen Sie die Installationsanleitung für detaillierte Anweisungen zur Einrichtung von AppState.

Nach der Installation finden Sie in der Verwendungsübersicht eine kurze Einführung in die Verwaltung des Zustands und die Injektion von Abhängigkeiten in Ihr Projekt.

Schnelles Beispiel

Unten sehen Sie ein minimales Beispiel, das zeigt, wie man einen Zustandsausschnitt definiert und von einer SwiftUI-Ansicht darauf zugreift:

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("Zähler: \(counter)")
            Button("Inkrementieren") { counter += 1 }
        }
    }
}

Dieser Ausschnitt zeigt, wie man einen Zustandswert in einer Application-Erweiterung definiert und den @AppState-Property-Wrapper verwendet, um ihn in einer Ansicht zu binden.

Dokumentation

Hier ist eine detaillierte Aufschlüsselung der Dokumentation von AppState:

Detaillierte Verwendungsanleitungen:

Mitwirken

Wir freuen uns über Beiträge! Bitte lesen Sie unsere Anleitung für Mitwirkende, um zu erfahren, wie Sie sich beteiligen können.

Nächste Schritte

Nach der Installation von AppState können Sie die wichtigsten Funktionen erkunden, indem Sie sich die Verwendungsübersicht und detailliertere Anleitungen ansehen. Beginnen Sie mit der effektiven Verwaltung von Zustand und Abhängigkeiten in Ihren Swift-Projekten! Für fortgeschrittenere Verwendungstechniken wie die Just-In-Time-Erstellung und das Vorabladen von Abhängigkeiten siehe die Anleitung zur erweiterten Verwendung. Sie können auch die Anleitungen zu Konstanten und ObservedDependency für zusätzliche Funktionen einsehen.


Diese Übersetzung wurde automatisch generiert und kann Fehler enthalten. Wenn Sie Muttersprachler sind, freuen wir uns über Ihre Korrekturvorschläge per Pull Request.