你们能否对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")
我在控制台中得到了一个很好的 nil 答案。当我尝试使用int或float类型时,它很好......我有什么遗漏来制作这本词典吗?
答案 0 :(得分:2)
首先,您的代码将无法编译。
其次,类型为[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")
希望它可以帮助你:)