Enregistrer dictionnaire userdefaults dans swift 3 avec xcode 8
J'utilise le code suivant pour enregistrer un objet à UserDefaults (précédemment NSUserDefaults) à l'aide de xcode 8:
let defaults = UserDefaults.standard()
defaults.set(someObject, forKey: "someObject")
print(defaults.object(forKey: "someObject"))
someObject est un dictionnaire et je suis en cours d'exécution sur le simulateur.
Pour quelque raison que ce n'est pas l'économie de la valeur et de la " nil " est imprimé. Vous vous demandez si c'est un simulateur de problème.
Vous devez vous connecter pour publier un commentaire.
Pour Swift 3
Fonctionne parfaitement ici avec ce..!
C'est le sans-papiers-mais-problème connu qui NSUserDefaults/UserDefualts ne fonctionne pas dans le simulateur iOS 10 si l'iOS 8 et 9 simulateur a déjà été exécuté.
De redémarrer votre Mac et aller directement à XCode 8, iOS 10 simulateur va résoudre ce problème.
Voir aussi: Pourquoi ne pas en faire l'une de mes applications s'exécutent dans XCode beta 8 (8S128d)
Ce problème semble être provoqué par le fait d'avoir deux versions de xcode/simulateur installé.
Ce qui a fonctionné pour moi a été la désinstallation de xcode 7 et il suffit de les garder xcode beta 8 sur mon système. Le vidage de la poubelle, la réinitialisation du simulateur et en cours d'exécution. J'ai aussi redémarré mon ordinateur.
Après avoir suivi ces étapes, le simulateur est en mesure d'enregistrer sur UserDefaults.
Swift 4:-