我正在学习一个教程,其中我将数据保存在具有以下代码的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
在这做什么?
答案 0 :(得分:0)
第1行正在使用密钥ITEMS_KEY
从UserDefaults检索字典,当失败时,它会实例化一个空Dictionary()
。这就是零合并运算符的含义。 ITEMS_KEY是您可能在某处设置的属性(常量)。
第2行正在为字典设置键值。
第3行正在将字典写回NSUserDefaults。
第4行是双倍?不确定这是不对。