nsuserdefaults - standard - userdefaults swift 3
Guarde el diccionario en los valores predeterminados del usuario en swift 3 con xcode 8 (5)
Este es el problema indocumentado pero conocido que NSUserDefaults / UserDefualts no funciona en el simulador de iOS 10 si el simulador de iOS 8/9 se ha ejecutado previamente.
Al reiniciar su Mac e ir directamente a XCode 8, el simulador de iOS 10 solucionará este problema.
Consulte también: ¿Por qué mi aplicación no se ejecuta en XCode 8 beta (8S128d)?
Estoy usando el siguiente código para guardar un objeto en UserDefaults (anteriormente NSUserDefaults) usando xcode 8:
let defaults = UserDefaults.standard()
defaults.set(someObject, forKey: "someObject")
print(defaults.object(forKey: "someObject"))
someObject es un diccionario y lo estoy ejecutando en el simulador.
Por alguna razón, esto no está guardando el valor y se imprime ''nil''. Preguntándose si es un problema de simulador.
Este problema parece ser causado por tener dos versiones de xcode / simulator instaladas.
Lo que funcionó para mí fue desinstalar xcode 7 y simplemente mantener xcode 8 beta en mi sistema. Vaciar la basura, reiniciar el simulador y ejecutar. También reinicié mi computadora.
Después de seguir estos pasos, el simulador puede guardar en UserDefaults.
Para Swift 3
UserDefaults.standard.setValue(token, forKey: "user_auth_token")
print("/(UserDefaults.standard.value(forKey: "user_auth_token")!)")
Trabajando perfectamente aquí con esto ...!
let dict:[String:String] = ["key":"Hello"]
UserDefaults.standard.set(dict, forKey: "dict")
let result = UserDefaults.standard.value(forKey: "dict")
print(result!)
// Output -> { key:hello;}
Swift 4: -
let defaults = UserDefaults.standard
let dictionary: [String:String] = ["key":"Value"] //Dictionary which you want to save
defaults.setValue(dictionary, forKey: "DictValue") //Saved the Dictionary in user default
let dictValue = defaults.value(forKey: "DictValue") //Retrieving the value from user default
print(dictValue) // Printing the value