快速构造字典键的默认值并进行设置的惯用方式

时间:2018-07-04 11:57:12

标签: swift swift4 foundation

我正在寻找一种惯用的快速方法来为不存在的键创建然后为字典中包含的集合设置值

我的代码很繁琐,这种类型的代码分散在周围:

var myDict = Dictionary<String,Array<String>>()
var arr = myDict["key"]
if arr = nil {
  arr = Array<String>()
  myDict["key"] = arr
}

... do something with arr...

有什么可以处理的吗?

1 个答案:

答案 0 :(得分:7)

无法为Dictionary设置默认值,但是在查找字典值时可以指定default值:

var arr = myDict["key", default: []]
如果找不到该密钥,

default提供一个默认值。在这种情况下,您可以使用[],Swift会将其推断为类型为[String]的空数组。