comment enregistrer et lire de tableau de tableau dans NSUserdefaults dans swift?

J'ai besoin de créer un tableau pour ajouter des objets avec ce format comme un dictionnaire Swift : ["key1": "valeur1", "key2": "valeur2"]

Quand j'essaie de l'enregistrer avec NSUserDefaults tout est correct, mais lors de la lecture NSUserDefaults avec la clé de cette plante. Ce type de données n'mon var obj besoin?

let def = NSUserDefaults.standardUserDefaults()
var key = "keySave"
var element: AnyObject!

var array1: [AnyObject!] = []
array1.append(["key1": "val1", "key2": "val2"])
array1.append(["key1": "val1", "key2": "val2"])

//save
var savestring : [AnyObject!]
savestring = array1
var defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(savestring, forKey: key)
defaults.synchronize()

//read
var obj: [AnyObject!] = []
if(obj != nil){
    print("size: ")
    print(obj.count) //vary long value confused..
    element = obj[0]  //crash
    print(element.objectForKey("key1"))
}
  • Il ressemble à NSUserDefaults peut manipuler la Corde mais pas de Tableau et dans le Dictionnaire, ne travaillant que pour le NS* types décrivant les docs. Si cela ressemble à un bug dans Swift.
  • Pour aller un peu au-delà de ce que @Zaph dit, j'ai testé avec [Chaîne] et il ne fonctionne pas, mais c'est de travailler avec [NSString]. Vérifier ma réponse.
InformationsquelleAutor user3745888 | 2014-08-07