保存字典中迅速3与xcode中userdefaults 8
我使用以下代码来保存一个目的是使用的xcode 8 UserDefaults(先前NSUserDefaults的):保存字典中迅速3与xcode中userdefaults 8
let defaults = UserDefaults.standard()
defaults.set(someObject, forKey: "someObject")
print(defaults.object(forKey: "someObject"))
someObject是一个字典,我上运行模拟器。
由于某些原因,这不是保存该值而是打印'nil'。想知道这是否是模拟器问题。
这个问题似乎是由于安装了两个版本的xcode/simulator而导致的。
我的工作是卸载xcode 7,只是保持我的系统xcode 8测试版。清空垃圾,重置模拟器并运行。我也重新启动了我的电脑。
执行以下步骤后,模拟器可以保存到UserDefaults。
你可以请抢我的问题https://stackoverflow.com/questions/44667335/how-to-pass-prefs-value-data-from-view-controller内部表格视图单元格与? –
在这里完美的工作与此..!
let dict:[String:String] = ["key":"Hello"]
UserDefaults.standard.set(dict, forKey: "dict")
let result = UserDefaults.standard.value(forKey: "dict")
print(result!)
// Output -> { key:hello;}
这是无证,但是,已知的问题,NSUserDefaults的/ UserDefualts不会在iOS的10模拟器工作,如果iOS的8/9模拟器先前已运行。
重新启动Mac并直接进入XCode 8,iOS 10模拟器将解决此问题。
对于斯威夫特3
UserDefaults.standard.setValue(token, forKey: "user_auth_token")
print("\(UserDefaults.standard.value(forKey: "user_auth_token")!)")
谢谢。这帮了我。 –
在xcode 8.2.1中使用它我得到零作为结果... –
@Jan,你可以请抢我的问题兄弟https://stackoverflow.com/questions/44667335/how-to-pass-prefs-value -data-from-view-controller-to-inside-table-view-cell-with? –
实际上它是saving..dont知道什么是你的someObject?试试这个defaults.set(“Hello WWDC”,forKey:“someObject”),你会看到结果 –
someObject是一个字典。刚刚编辑。 – alionthego
@alionthego我注意到同样的问题,但它只发生在模拟器上,当我测试它在真正的设备上正常工作。顺便说一句,它是测试版,所以你应该报告一个错误 –