J'utilise le code suivant pour enregistrer un objet dans 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 cours sur le simulateur.
Pour une raison quelconque, cela n'enregistre pas la valeur et «nil» est imprimé. Vous vous demandez si c'est un problème de simulateur.