快速将键值对附加到现有字典值

时间:2020-08-03 02:25:53

标签: swift dictionary append key-value

我正在尝试取得以下结果。在哪里可以为多个字符串项目保存多个键值。

//dict["Setting1"] = ["key1":"val1"]
//dict["Setting1"] = ["key2":"val2"]
//dict["Setting2"] = ["key1":"val1"]
//dict["Setting2"] = ["key2":"val2"]
// and so on..
//or
//dict["Setting1"].append(["key2":"val2"]) // this doesn't work

//accessing dict["Settings1"]["key1"]    ..should give me val1

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

var lst1 = ["key2":"val2"]
dict["one"] = ["key1":"val1"]

dict["one"]?.append(lst1)

print(dict)

给我错误

error: value of type '[String : String]' has no member 'append'
obj["one"]?.append(lst1)
~~~~~~~~~~~ ^~~~~~

1 个答案:

答案 0 :(得分:1)

您使用的Dictionary没有像append(_:)这样的方法。 append(:_)Array end 添加了一些内容,但是Dictionaries是无序的。

要向Dictionary中添加内容,请先为其定义一个键,然后在Dictionary中为其分配一个值

它看起来像这样:

var dict = [String :[String: String]]()
var lst1 = ["key2": "val2"]
dict["one"] = ["key1": "val1"]

但是您不能追加到dict["one"],因为它不是数组,所以只能覆盖它

dict["one"] = lst1