Die Frage lautet "Array of Array", aber ich denke, die meisten Leute kommen wahrscheinlich hierher, um zu wissen, wie man ein Array speichert UserDefaults. Für diese Leute werde ich einige allgemeine Beispiele hinzufügen.
String-Array
Array speichern
let array = ["horse", "cow", "camel", "sheep", "goat"]
let defaults = UserDefaults.standard
defaults.set(array, forKey: "SavedStringArray")
Array abrufen
let defaults = UserDefaults.standard
let myarray = defaults.stringArray(forKey: "SavedStringArray") ?? [String]()
Int Array
Array speichern
let array = [15, 33, 36, 723, 77, 4]
let defaults = UserDefaults.standard
defaults.set(array, forKey: "SavedIntArray")
Array abrufen
let defaults = UserDefaults.standard
let array = defaults.array(forKey: "SavedIntArray") as? [Int] ?? [Int]()
Bool-Array
Array speichern
let array = [true, true, false, true, false]
let defaults = UserDefaults.standard
defaults.set(array, forKey: "SavedBoolArray")
Array abrufen
let defaults = UserDefaults.standard
let array = defaults.array(forKey: "SavedBoolArray") as? [Bool] ?? [Bool]()
Datumsarray
Array speichern
let array = [Date(), Date(), Date(), Date()]
let defaults = UserDefaults.standard
defaults.set(array, forKey: "SavedDateArray")
Array abrufen
let defaults = UserDefaults.standard
let array = defaults.array(forKey: "SavedDateArray") as? [Date] ?? [Date]()
Objektarray
Benutzerdefinierte Objekte (und folglich Arrays von Objekten) erfordern etwas mehr Arbeit zum Speichern UserDefaults. Informationen dazu finden Sie unter den folgenden Links.
Anmerkungen
- Mit dem Null-Koaleszenz-Operator (
??) können Sie das gespeicherte Array oder ein leeres Array ohne Absturz zurückgeben. Dies bedeutet, dass, wenn das Objekt Null zurückgibt, der Wert nach dem folgt?? stattdessen Operator verwendet wird .
- Wie Sie sehen können, war die Basis - Setup das gleiche für
Int, Boolund Date. Ich habe es auch mit getestetDouble . Soweit ich weiß, funktioniert alles, was Sie in einer Eigenschaftsliste speichern können, so.