Swift - UserDefaults

Aus Wikizone
Wechseln zu: Navigation, Suche

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.