尝试在swift中使用字典执行加法时出错

尝试在swift中使用字典执行加法时出错,swift,dictionary,key,addition,Swift,Dictionary,Key,Addition,我在努力了解字典是如何工作的。使用操场。我制作了一个名为“菜单”的简单字典,其中有一个项目列表,项目名称作为键,价格作为值。像这样: let menu = ["crisps": 2, "oranges": 3, "chicken": 8, "meat": 12] 然后,我尝试添加这些项目的值,如下所示: let costOfMeal = menu["crisps"]! + menu["oranges"]! + menu["

我在努力了解字典是如何工作的。使用操场。我制作了一个名为“菜单”的简单字典,其中有一个项目列表,项目名称作为键,价格作为值。像这样:

let menu = ["crisps": 2,
            "oranges": 3,
            "chicken": 8,
            "meat": 12]
然后,我尝试添加这些项目的值,如下所示:

let costOfMeal = menu["crisps"]! + menu["oranges"]! + menu["chicken"]! + menu["meat"]!
这给了我一个错误:对成员“+”的引用不明确

不知道发生了什么事。欢迎您的任何意见

谢谢

大卫


您正在尝试将每个键和值加在一起!您应该只将这些值相加。你知道字典是键和值,你应该只加上值。

这仅仅是编译器的自动类型转换,被多次添加的未包装选项弄糊涂了

您可以通过在公式中添加一个实际整数来帮助它

let costOfMeal =  0 + menu["crisps"]! + menu["oranges"]! + menu["meat"]! + menu["chicken"]!

不要让它困扰你,因为它与你试图学习的内容无关,而且你的公式是正确的(尽管对生产来说不安全)。

你不必包装
菜单。值
在一个新的
数组中
这是一个自Swift 3.1起已修复的错误。
let costOfMeal =  0 + menu["crisps"]! + menu["oranges"]! + menu["meat"]! + menu["chicken"]!