在2个字典中打印字典键

时间:2018-08-02 19:49:47

标签: swift dictionary printing

我正在尝试制作一个应用,为此我需要一个字典,但是当我尝试在字典中访问存储的值时,出现错误消息。

let dictt = ["Holmsbu":["water": true, "power": true],
             "Kragerø":["water": false, "power": true]]

print(dictt["Holmsbu"]!)

我尝试使用以下代码进行访问:

print(dictt["Holmsbu"["water"]])

但是我得到的只是这个错误:

  

退出状态1   main.swift:2:22:错误:无法使用索引类型为“字符串”的下标类型为“字符串”的值   打印(dictt [“ Holmsbu” [“ water”]]!)                        ^

     

main.swift:2:22:注意:存在这些部分匹配的参数列表的'subscript'重载:(String.Index),(Range),(ClosedRange),(Int),(Range),(ClosedRange ),(CountableRange),(CountableClosedRange)   print(dictt [“ Holmsbu” [“ water”]]!)

1 个答案:

答案 0 :(得分:1)

您将]放在错误的位置。应该是:

print(dictt["Holmsbu"]!["water"]!)

更好的是:

print(dictt["Holmsbu"]?["water"] ?? false)

我添加了?? false来处理所有可选选项。这比使用!更好,如果键不在字典中,则崩溃会崩溃。