Versuch addObject zu Array innerhalb plist
zu retten, aber nicht wissen, wie es zu tun ...Schreib-/Lese Plist in swift 2.1
die Struktur des Plist ist wie folgt:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Location</key>
<array>
<string>test</string>
<string>test2</string>
</array>
<key>UserID</key>
<array>
<string>use1</string>
<string>user2</string>
</array>
</dict>
</plist>
das ist, was ich benutze:
Lese plist aus Dokumenten Verzeichnis funktioniert .... in meinem viewDidLoad
guard
let fileURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first?.URLByAppendingPathComponent("MyPlist.plist")
else { fatalError("Unable to get file") }
let dict = NSDictionary(contentsOfURL: fileURL)
locationArray = dict?.objectForKey("Location") as! NSMutableArray
userIDArray = dict?.objectForKey("UserID") as! NSMutableArray
in meiner speichern func:
guard
let fileURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first?.URLByAppendingPathComponent("MyPlist.plist")
else { fatalError("Unable to get file") }
let dict = NSMutableDictionary(contentsOfURL: fileURL)
dict?.setObject(userDefaultLocationTextField.text!, forKey: "Location")
dict?.writeToURL(fileURL, atomically: true)
aber es scheint, dass nichts in meinem plist geschrieben ...
Dank.
Ist das Wörterbuch im Speicher ist (verwenden Sie den Debugger, um herauszufinden) erfolgreich aktualisiert? Dadurch erfahren Sie, wo das Problem liegt (Aktualisierung im Speicher oder Schreiben in Datei). Ich bin kein Experte mit Swift aber das 'wie! NSMutableArray's sieht falsch aus ... – trojanfoe
ich glaube nicht. Array hat nur ein Objekt, nachdem ich den neuen Wert gespeichert habe –
Sie scheinen dieses Problem nicht lösen zu wollen. – trojanfoe