我正在尝试取得以下结果。在哪里可以为多个字符串项目保存多个键值。
//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)
~~~~~~~~~~~ ^~~~~~
答案 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