@AppStorage
è una proprietà che legge e scrive valori da UserDefaults
. In questo esempio salviamo il nome di una persona nella chiave “persona” in UserDefaults
.
Quando l’app viene riavviata, il nome della persona salvato verrà mostrato nella label di testo. Inserisci un nome nel campo di testo e poi clicca su “Salva nome” per salvare un nuovo nome nella chiave “persona” in UserDefaults.
Inizializziamo una variabile di stato nome
per memorizzare il nome inserito:
@State private var nome = ""
Inizializziamo una chiave persona
in AppStorage
:
@AppStorage("persona") var persona = ""
Nella View, all'interno di un VStack, inseriamo il campo di testo:
TextField("Inserisci nome", text: $nome)
.multilineTextAlignment(.center)
.frame(maxWidth: 200)
Poi aggiungiamo il pulsante per salvare, e visualizziamo il testo
Button("Salva nome") {
persona = nome
}
Text("Persona salvata: \(persona)")
Di seguito il codice completo:
import SwiftUI
struct ContentView: View {
@State private var nome = ""
@AppStorage("persona") var persona = ""
var body: some View {
VStack(spacing: 20) {
TextField("Inserisci nome", text: $nome)
.multilineTextAlignment(.center)
.frame(maxWidth: 200)
Button("Salva nome") {
persona = nome
}
Text("Persona salvata: \(persona)")
}
.frame(width: 400, height: 100)
.padding()
}
}
Potete trovare il codice completo su Github