无法从Swift 3中的Userdefaults检索字典数据
问题描述:
您是否可以通过UserDefaults来了解字典的用法?无法从Swift 3中的Userdefaults检索字典数据
我想得到的是使用UserDefaults将某个字典从视图控制器传递到另一个字典。
var dict = [String : AnyObject?]()
dict = ["Name": "Henri", "Group": "A", "Category": "4"]
UserDefaults.standard.set.(dict, forKey: "MyDict")
然后我尝试恢复数据
let retrieveDict = UserDefaults.standard.dictionary(forKey:"MyDict")
我在控制台一个不错的零答案。当我尝试使用int或float类型时,它很好......我有什么缺少的东西来制作这本字典吗?
答
首先,你的代码不会编译。
其次,[String, AnyObject?]
类型的字典没有意义,因为您无法在UserDefaults中设置nil
。你应该使用空字符串可能是为了这个目的。
工作代码可能看起来像:
var dict = [String : Any]() // or maybe [String : String] if you sure about value type
dict = ["Name": "Henri", "Group": "A", "Category": "4"]
UserDefaults.standard.set(dict, forKey: "MyDict")
let retrieveDict = UserDefaults.standard.dictionary(forKey:"MyDict")
希望它可以帮助你:)
它应该是'UserDefaults.standard.set(快译通,forKey: “MyDict”)' – jjatie
UserDefaults是一种在视图控制器之间传递数据的可怕方法。 – Paulw11