我有以下代码:
var TabActions: Dictionary<String, Array<Dictionary<String, String>>> = [:]
TabActions = ["EVENT1" : ["TARGET1" : "ACTION1"], ["TARGET2" : "ACTION2"]]
我想在列表中添加[“TARGET3”:“ACTION3”],但我无法想象如何做到这一点。我试过了:
TabActions["EVENT1"] = [["TARGET3" : "ACTION3"]]
但它替换了值而不是添加它,所有其他尝试都以错误
结束执行此操作的最佳语法是什么?
答案 0 :(得分:2)
如果你确实需要一本字典数组字典,那么安东尼奥的回答是正确的,追加就可以了:
var TabActions: Dictionary<String, Array<Dictionary<String, String>>> = [:]
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"
答案 1 :(得分:0)
TabActions
字典包含数组值 - 要附加到数组,请使用append
方法:
TabActions["EVENT1"]?.append(["TARGET3": "ACTION3"])
请注意,如果找不到EVENT1
密钥,则不会进行添加。