0

我以前曾多次使用 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 崩溃的原因可能是什么。

4

0 回答 0