swift - 如何快速添加/更新字典中的键/值?

标签 swift dictionary key

func exercise() {

    
    var stockTickers: [String: String] = [
        "APPL" : "Apple Inc",
        "HOG": "Harley-Davidson Inc",
        "BOOM": "Dynamic Materials",
        "HEINY": "Heineken",
        "BEN": "Franklin Resources Inc"
    ]
    
    
    stockTickers["WORK"] = ["Slack Technologies Inc"]
    stockTickers["BOOM"] = ["DMC Global Inc"]


  
     
    print(stockTickers["WORK"]!)
    print(stockTickers["BOOM"]!)
}

错误:无法将类型“[String]”的值分配给类型“String”的下标

我不明白这个错误,我是 swift 的新手,有人可以指导我完成这个并告诉 mw 为什么我会看到这个错误。

最佳答案

Alexander 以抽象的方式解释了您需要做什么。 (已投票)

具体来说,改变

stockTickers["WORK"] = ["Slack Technologies Inc"]
stockTickers["BOOM"] = ["DMC Global Inc"]

stockTickers["WORK"] = "Slack Technologies Inc"
stockTickers["BOOM"] = "DMC Global Inc"

表达式 ["Slack Technologies Inc"] 定义了一个包含单个字符串的字符串数组。那不是你想要的。您定义了 [String:String]

类型的字典

如果您希望字典具有包含字符串数组的字符串键和值,则必须更改声明字典的方式:

var stockTickers: [String: [String]] = [
    "APPL" : ["Apple Inc"],
    "HOG": ["Harley-Davidson Inc"],
    "BOOM": ["Dynamic Materials"],
    "HEINY": ["Heineken"],
    "BEN": ["Franklin Resources Inc"]
]

关于swift - 如何快速添加/更新字典中的键/值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67167905/

相关文章:

swift - 为什么我的自定义转换不适用于我的导航 Controller ?

swift - Firebase snapshot.key 不返回实际 key ?

swift - 从属于字典中特定键的值创建一个数组(Swift 4)

javascript - 在嵌套的 .map 函数中为 <li> 提供唯一键

ios - Swift:无法使用 'filter' 类型的参数列表调用 '((AnyObject) throws -> Bool)'

ios - 我使用 coreData 保存数据,但对象仍然为零

python - 基于一个键/值对合并Python中的字典列表?

C#:C# 中的字典是否具有类似于 Python setdefault 的内容?

java - 自定义对象的 hashCode 和 equals 的实现,用作 HashMap 中的键

python - 定义具有不可变键但可变值的 python 字典