当swift中存在或不存在键时,如何将元素追加到字典中

当swift中存在或不存在键时,如何将元素追加到字典中,swift,dictionary,Swift,Dictionary,我想在字典中附加一个元素。如果钥匙不存在,我想把它弄出来 我的解决办法是: if let _ = eventsBySection[key] { eventsBySection[key]?.append(event) } else { eventsBySection[key] = [event] } 有可能把这段代码写得更好吗?或者在一行中?您可以使用nil合并运算符?,并在nil的情况下提供空数组: eventsBySection[key] = (eventsBySection[

我想在字典中附加一个元素。如果钥匙不存在,我想把它弄出来
我的解决办法是:

if let _ = eventsBySection[key] {
   eventsBySection[key]?.append(event)
} else {
    eventsBySection[key] = [event]
}

有可能把这段代码写得更好吗?或者在一行中?

您可以使用nil合并运算符
,并在nil的情况下提供空数组:

eventsBySection[key] = (eventsBySection[key] ?? []) + [event] 
编辑/更新

Swift 4或更高版本可以使用默认值的基于字典键的下标

eventsBySection[key, default: []].append(event)

只需使用扩展名。