2016-03-24 10 views
0

Ich bin neu in der Codierung. Ich habe JSON-Anfrage, die verschiedene Parameter zurückgibt, zum Beispiel "unitid" und "buldingid". Ich möchte die "Buldingid" von NSUserDefaults speichern. Ich benutze Code unten, um es zu speichern, aber jedes Mal bekomme ich keine Antwort für "Buldingid".Speichern von JSON-Daten in NSUserDefaults Swift 2

Lesung:

NSUserDefaults.standardUserDefaults().setObject(buildingid, forKey: "buildingidKey") 
NSUserDefaults.standardUserDefaults().synchronize() 

Schreiben:

let buildingid: [NSString]? = NSUserDefaults.standardUserDefaults().objectForKey("buildingidKey") as? [NSString] 

i gespeichert es in einem Etikett dann in NSUserDfaults gespeichert, aber es funktioniert nicht (Fehler: Der Versuch, Nicht-Eigenschaftsliste Objekt einfügen)

Was soll ich tun, um die richtige Antwort für "Buldingid" zu erhalten?

Danke!

Antwort

0

ich aus dem Code annehmen, dass buildingid ein String ist, so etwas wie dies funktionieren sollte:

NSUserDefaults.standardUserDefaults().setObject(String(buildingid), forKey: "buildingidKey") 
NSUserDefaults.standardUserDefaults().synchronize() 

retrieving es sollte wie folgt geschehen:

let buildingid = NSUserDefaults.standardUserDefaults().stringForKey("buildingidKey") 
+0

Dank für Ihre Antwort danken. Es stürzt jetzt nicht ab :) Ich bekomme diese Nachricht in xcode log 'PostData: buildingid = Optional (" > ") & year = 1394 & month = 11' und bekomme immer noch keine richtige Antwort in App @Thomas – VahidGR

+0

Oh, ich sehe, buildingid ist das Label! Das bedeutet, dass das Objekt, das Sie speichern, 'buildingid.text' anstatt nur' buildingid 'sein sollte (in der ersten Zeile des obigen Codefragments), – Thomas

+0

es wird besser, aber immer noch nicht die richtige Antwort bekommen das ist was shoul i von uRL erhalten: '{ "Daramad": "200000", "Hazine": "0", "Mojudi": "200000" }' und das ist, was jetzt mein Protokoll zeigt: '2016-03-25 09: 37: 09.252 Apa Pay [575: 6361] PostData: buildingid = Optional (" Optional (\ "hasan \") ") & year = 1394 & month = 11 2016-03-25 09:37 : 19.259 Apa Pay [575: 6361] Antwortcode: 200 2016-03-25 09: 37: 19.259 Apa Pay [575: 6361] Antwort ==> {"Daramad": "0", "Hazine": "0 "," Mojudi ":" 0 "}' – VahidGR

Verwandte Themen