Mar*_*rry 0 arrays dictionary swift
我目前有这个代码:
var dic = [String: [String]]()
if (dic.index(forKey: key) != nil){
dic[key]?.append(m)
}
else {
dic[key] = [m]
}
Run Code Online (Sandbox Code Playgroud)
但是,在dic.index(forKey: key)和dic[key]?.append(m)我计算了两次密钥。
有没有可能做这样的事情?:
var dictKeyVal = &dic[key]
if (dictKeyVal != nil) {
dictKeyVal?.append(m)
}
else {
dic[key] = [m]
}
Run Code Online (Sandbox Code Playgroud)
如果没有键,我在键或 nil 处获取对数组的引用
您可以简单地为下标使用默认值,您的整个代码将简化为:
var dic = [String: [String]]()
dic[key, default: []].append(m)
Run Code Online (Sandbox Code Playgroud)