在编写字典SIGABRTs时,UserDefaults.standard.set(any,forKey :)?

时间:2018-05-10 03:22:52

标签: swift dictionary userdefaults

当使用Int作为键将字典写入UserDefaults时,似乎会使模拟器崩溃。我似乎找不到任何关于为什么这不起作用的信息:

let defaults = UserDefaults.standard

var name = [Int:String]()
name[22] = "Twenty-Two"
name[23] = "Twenty-Three"
print(name)
defaults.set(name, forKey: "name")

如果我将其更改为:

let defaults = UserDefaults.standard

var name = [String:String]()
name["22"] = "Twenty-Two"
name["23"] = "Twenty-Three"
print(name)
defaults.set(name, forKey: "name")

使用字符串键可以正常工作。这是应该以这种方式工作还是简单地将Ints转换为字符串唯一可行的解​​决方法。

0 个答案:

没有答案