Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
写入嵌套字典(Swift 4)_Swift_Dictionary_Collections - Fatal编程技术网

写入嵌套字典(Swift 4)

写入嵌套字典(Swift 4),swift,dictionary,collections,Swift,Dictionary,Collections,我已经用Swift声明了一个字典:var dict=[String:[String:[String]]]() 我现在要做的是写嵌套字典。我使用了以下两种代码,但是,它们都不起作用,因为初始密钥不存在: dict["Test"]?["One"] = ["Failed"] dict["Test"]!["One"] = ["Failed"] 我想做的是为[“One”]创建一个键,就像使用dict[key]为普通字典创建键一样,您需要实例化每个内部字典 var dict = [String : [St

我已经用Swift声明了一个字典:
var dict=[String:[String:[String]]]()

我现在要做的是写嵌套字典。我使用了以下两种代码,但是,它们都不起作用,因为初始密钥不存在:

dict["Test"]?["One"] = ["Failed"]
dict["Test"]!["One"] = ["Failed"]

我想做的是为
[“One”]
创建一个键,就像使用
dict[key]

为普通字典创建键一样,您需要实例化每个内部字典

var dict = [String : [String : [String]]]()

dict["Test"] = [String : [String]]()

dict["Test"]?["One"] = ["Worked"]

print(dict)

确保避免强制展开。

dict
为空。
“测试”
键没有值

一个选项是提供默认值:

dict["Test", default: [:]]["One"] = ["A", "B"]
您可以更进一步:

dict["Test2", default: [:]]["Two", default: []].append("Hello")

最后一行将适用于键的任何组合
“Test2”
“Two”
在使用之前是否存在。

您解决了它吗?是的,我解决了!谢谢,但我不知道为什么我不能接受你的回答。我没有看到绿色的复选标记。