为 swift 中的字典键构造默认值并设置它的惯用方法

Idiomatic way to construct a default value for a dictionary key in swift and set it

我正在寻找惯用的快捷方式来为字典中包含的不存在键的集合创建并设置值

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

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

... do something with arr...

有什么东西可以处理这个吗?

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

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

default 提供默认值。在这种情况下,您可以使用 [],其中 Swift 将推断为 [String].

类型的空数组