我以前曾多次使用 Userdefaults,但在这种情况下,即使它是如此简单的情况,似乎也无法弄清楚是什么导致了这种崩溃的发生。
目标:UserDefaults.standard.set 一个字典,其值为字典的数组
struct UDKey {
static let activityCount = "ActivityCount"
}
class MyClass {
let defaults = UserDefaults.standard
func initialize() {
let years = [ 2017: [[1:2],
[2:4],
[3:6],
[4:8],
[5:10],
[6:12],
[7:14],
[8:16],
[9:17],
[10:18],
[11:19],
[12:20]]]
if defaults.value(forKey: UDKey.activityCount) == nil {
defaults.set(years, forKey: UDKey.activityCount) // Crash - lldb
}
}
}
我尝试成功设置其他值,例如简单的整数和字符串。但是这个字典的值是字典数组的字典有问题。
设置值时 UserDefaults 崩溃的原因可能是什么。