创建字符串到字符串数组的字典(Swift)

创建字符串到字符串数组的字典(Swift),swift,dictionary,Swift,Dictionary,如果我创建一个像下面这样的字典 var dict: [String: [String]] = [:] dict["Key 1"] = ["Item 1", "Item 2", "Item 3"] 如何在不重写列表的情况下将项目附加到“键1”键 差不多 dict["Key 1"].append("Item 4") 但我不确定这是否有效。你必须这样做: var dict: [String: [String]] = [:] dict["Key 1"] = ["Item 1", "I

如果我创建一个像下面这样的字典

var dict: [String: [String]] = [:]
dict["Key 1"] = ["Item 1", "Item 2", "Item 3"]
如何在不重写列表的情况下将项目附加到“键1”键

差不多

dict["Key 1"].append("Item 4")

但我不确定这是否有效。

你必须这样做:

    var dict: [String: [String]] = [:]
    dict["Key 1"] = ["Item 1", "Item 2", "Item 3"]
    dict["Key 1"]?.append("Item 4")

因为dict[“Key 1”]返回一个可选值,这意味着-在编译时,dict是否真的包含键为“Key 1”的值还不清楚

下次请为它创建一个游乐场。但这对你来说是可行的:

dict["Key 1"] = ["Item 1", "Item 2", "Item 3"]
var temp = dict["Key 1"]
temp?.append("next")
dict["Key 1"] = temp

下面您将看到如何做到这一点

var dict: [String:[String]] = [String:[String]]()
dict["keyOne"] = ["item", "item", "item"]
dict["keyOne"]?.append("new")
println(dict)

一开始,你的口述就像你宣布的那样。。。然后添加一个数组作为键“keyOne”的值。。。然后将新值附加到数组中,而不是附加到可选的。。。欢呼声

你在XCODE游乐场试过了吗?如果你把这个帖子当成答案,请把它标记为答案。