Swift - UserDefaults
Aus Wikizone
Links[Bearbeiten]
Swift (Programmiersprache)
Beispiel[Bearbeiten]
import UIKit
let defaults = UserDefaults.standard
let dictionaryKey = "myDictionary" // good Practice to set a constant for better reuse and less typing errors
// setting defaults key:value pairs...
defaults.set(0.24, forKey: "Volume")
defaults.set(true, forKey: "MusicOn")
defaults.set("Stephan", forKey: "PlayerName")
defaults.set(Date(), forKey: "AppLastOpened")
let array = [1, 2, 3]
defaults.set(array, forKey: "myArray")
let dictionary = ["name": "Stephan"]
defaults.set(dictionary, forKey: dictionaryKey)
// reading...
let volume = defaults.float(forKey: "Volume") // there are methodds for all basic types
let appLastOpened = defaults.object(forKey: "AppLastOpened") // and for objects
let myArray = defaults.array(forKey: "myArray")
let myDictionary = defaults.dictionary(forKey: dictionaryKey)
Hinweise[Bearbeiten]
Am Besten setzt man zuerst eine Konstante, damit man leicheter auf die UserDefaults zugreifen kann
let defaults = UserDefaults.standard
Um einen Wert für einen Schlüssel zu setzen, verwenden Sie die Methode set:
UserDefaults.standard.set("Hallo, Welt!", forKey: "Begrüßung")
Es gibt Methoden für alle Basistype. Mit der Methode object(forKey:), bekommt man ein Any Optional. Das kann man dann mit as downcasten.
let begrüßung = UserDefaults.standard.object(forKey: "Begrüßung") as? String
Sie können auch die Methode set verwenden, um andere Typen wie Bool, Int, Float, Double, URL und Data zu speichern:
UserDefaults.standard.set(true, forKey: "istErsterStart") let istErsterStart = UserDefaults.standard.bool(forKey: "istErsterStart")
Sie können auch die Methode removeObject(forKey:) verwenden, um einen Wert für einen Schlüssel zu entfernen:
UserDefaults.standard.removeObject(forKey: "Begrüßung")
Es ist wichtig zu beachten, dass UserDefaults für kleine Mengen an Daten gedacht ist und nicht für große Dateien oder vertrauliche Daten geeignet ist.