尝试在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"]!