2017-05-26 2 views
-1

Ich habe immer mit Arrays gekämpft; Ich versuche einige Arrays in Benutzereinstellungen zu speichern. Meine Arrays sind String, Double und UIImageView-Typ. Ich erklärte ihnen, wie:Speichern und Lesen von Arrays in UserDefaults swift

var nameHospital = [String]() 
var distanceBetweenLocations = [Double]() 
var images = [UIImage]() // <-- Haven't tried with this yet 

und ich versuche, sie in UserDefaults so ... Thema

UserDefaults.standard.set(nameHospital, forKey: "name") 

Und nennen wie so Dann

UserDefaults.standard.object(forKey: "name") 

zu sparen, wenn ich drucken möchten um zu sehen, ob es funktioniert hat, druckt es nur einen Wert (letzter Wert des For Cycle), dann setze ich meinen Ausdruck in das for und wie ich es erwartet hatte, druckte er den Wert und ersetzte ihn dann für den nächsten Wert und so weiter.

Was mache ich falsch? Wie kann ich jeden Wert für weitere Funktionen einzeln aufrufen? Und wie kann ich das aber mit meinem UIImage-Array machen? Danke für deine Antworten.

+1

[Bearbeiten] Ihre Frage mit den tatsächlichen Code, den Sie Probleme verursacht. – rmaddy

+2

Und bitte lesen Sie die Dokumentation für 'UserDefaults'. Es sagt dir, was du speichern kannst. – rmaddy

Antwort

-1

Sie sehen, sind diese: NSUserDefault

sparen

let kUserDefault = NSUserDefaults.standardUserDefaults() 
kUserDefault.setObject(["KIRIT" , "MODI" , "FIRST" , "LAST"], forKey: "nameArray") 
kUserDefault.synchronize() 

READ:

kUserDefault.arrayForKey("nameArray")! 
kUserDefault.objectForKey("nameArray")! 
kUserDefault.valueForKey("nameArray") 

Für Swift 3

let kUserDefault = UserDefaults.standard 
kUserDefault.set(["KIRIT" , "MODI" , "FIRST" , "LAST"], forKey: "nameArray") 
kUserDefault.synchronize() 

let data = kUserDefault.array(forKey: "nameArray")! as? [String] ?? [String]() 
print(data) 

für weitere Informationen besuchen store value in userDefaults

+0

@Foolish, dank der Antwort verbessert. –

Verwandte Themen