NSUserDefault在ios9 swift中的关键编码?

时间:2015-12-04 14:00:13

标签: swift ios9 nsuserdefaults

我正在学习一个教程,其中我将数据保存在具有以下代码的NSUserDefault类型中。它有评论,但我无法得到这里发生的事情 -

var todoDictionary = NSUserDefaults.standardUserDefaults().dictionaryForKey(ITEMS_KEY) ?? Dictionary() // if todoItems hasn't been set in user defaults, initialize todoDictionary to an empty dictionary using nil-coalescing operator (??)

        todoDictionary[item.UUID] = ["deadline": item.deadline, "title": item.title, "UUID": item.UUID] // store NSData representation of todo item in dictionary with UUID as key
        NSUserDefaults.standardUserDefaults().setObject(todoDictionary, forKey: ITEMS_KEY)

NSUserDefaults.standardUserDefaults().setObject(todoDictionary, forKey: ITEMS_KEY)

那么这里真正发生的事情可以请任何人解释一下 ITEMS_KEY在这做什么?

1 个答案:

答案 0 :(得分:0)

第1行正在使用密钥ITEMS_KEY从UserDefaults检索字典,当失败时,它会实例化一个空Dictionary()。这就是零合并运算符的含义。 ITEMS_KEY是您可能在某处设置的属性(常量)。

第2行正在为字典设置键值。

第3行正在将字典写回NSUserDefaults。

第4行是双倍?不确定这是不对。