我在Swift中这样声明了一个字典:var dict = [String: [String: [String]]]()
。
我现在想做的是写给嵌套字典。我在下面使用了这两个代码,但是由于初始键不存在,因此它们都不起作用:
dict["Test"]?["One"] = ["Failed"]
dict["Test"]!["One"] = ["Failed"]
我要做的是为["One"]
创建一个密钥,就像您可以使用dict[key]
为普通字典创建密钥一样。
答案 0 :(得分:2)
您需要实例化每个内部字典。
var dict = [String : [String : [String]]]()
dict["Test"] = [String : [String]]()
dict["Test"]?["One"] = ["Worked"]
print(dict)
确保避免强行展开。
答案 1 :(得分:1)
dict
为空。 "Test"
键没有任何值。
一种选择是提供默认值:
dict["Test", default: [:]]["One"] = ["A", "B"]
您可以更进一步:
dict["Test2", default: [:]]["Two", default: []].append("Hello")
最后一行适用于在使用之前或不存在的键"Test2"
和"Two"
的任何组合。