当使用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转换为字符串唯一可行的解决方法。