Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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
Arrays 嵌套在字典中的字典数组中的swift add元素_Arrays_Swift_Dictionary_Nested_Updates - Fatal编程技术网

Arrays 嵌套在字典中的字典数组中的swift add元素

Arrays 嵌套在字典中的字典数组中的swift add元素,arrays,swift,dictionary,nested,updates,Arrays,Swift,Dictionary,Nested,Updates,我有以下代码: var TabActions: Dictionary<String, Array<Dictionary<String, String>>> = [:] TabActions = ["EVENT1" : ["TARGET1" : "ACTION1"], ["TARGET2" : "ACTION2"]] 但它会替换该值而不是添加该值,所有其他尝试都会以错误告终 执行此操作的最佳语法是什么?选项卡操作字典包含数组值-要附加到数组,请使用附加方法:

我有以下代码:

var TabActions: Dictionary<String, Array<Dictionary<String, String>>> = [:]

TabActions = ["EVENT1" : ["TARGET1" : "ACTION1"], ["TARGET2" : "ACTION2"]]
但它会替换该值而不是添加该值,所有其他尝试都会以错误告终


执行此操作的最佳语法是什么?

选项卡操作字典包含数组值-要附加到数组,请使用
附加
方法:

TabActions["EVENT1"]?.append(["TARGET3": "ACTION3"])

请注意,如果未找到
EVENT1
键,则不会进行任何添加。

如果您确实需要一个字典数组字典,那么Antonio的答案是正确的,append将完成以下工作:

var TabActions: Dictionary<String, Array<Dictionary<String, String>>> = [:]
TabActions = ["EVENT1" : [["TARGET1" : "ACTION1"], ["TARGET2" : "ACTION2"]]]

TabActions["EVENT1"]?.append(["TARGET3" : "ACTION3"])
var TabActions:Dictionary=[:]
TabActions=[“EVENT1”:[[“TARGET1”:“ACTION1”],[“TARGET2”:“ACTION2”]]
TabActions[“EVENT1”]?.append([“TARGET3”:“ACTION3”])
另一方面,如果你能用一本简单的字典,你只需要做:

var TabActions: Dictionary<String, Dictionary<String, String>> = [:]       
TabActions = ["EVENT1" : ["TARGET1" : "ACTION1", "TARGET2" : "ACTION2"]]

TabActions["EVENT1"]?["TARGET3"] = "ACTION3"
var TabActions:Dictionary=[:]
TabActions=[“EVENT1”:[“TARGET1”:“ACTION1”,“TARGET2”:“ACTION2”]]
选项卡操作[“事件1”]?[“目标3”]=“操作3”

感谢您的快速回答!如果第一个键不存在,我会怎么做?因为追加不会像你说的那样做。谢谢。在您的第二个命题(没有数组)中,如果我想要创建键和与此键关联的嵌套字典元素(“TARGET3”、“ACTION3”),那么如果第一个键(EVENT1)不存在该怎么办?好的一点是,您需要检查给定键是否存在字典:
如果让targets=TabActions[“EVENT2”]{TabActions[“EVENT2”]?[“TARGET3”]=“ACTION3”}其他{TabActions[“EVENT2”]=“TARGET3”:“ACTION3”]}
TabActions
应为
TabActions
实例小写-类/结构定义大写
var TabActions: Dictionary<String, Dictionary<String, String>> = [:]       
TabActions = ["EVENT1" : ["TARGET1" : "ACTION1", "TARGET2" : "ACTION2"]]

TabActions["EVENT1"]?["TARGET3"] = "ACTION3"