我正在尝试创建一个数组来保存字典。
var deaultScoreResults : [Dictionary<String, Int>] = [];
但是当我尝试添加字典键时:我得到的值对:
deaultScoreResults.append(["Study Up!", 1]);
错误;
Type&#39; Dictionary&#39;不符合协议 &#39; ArrayLiteralConvertible&#39;
答案 0 :(得分:4)
围绕以逗号分隔的值列表的方括号是数组文字。
["this", "is", "a", "swift", "literal", "array"]
对于文字字典,您需要以逗号分隔的key:value
对列表:
[1:"this", 2:"is", 3:"a", 4:"swift", 5:"literal", 6:"dictionary"]
要修复错误,您只需将逗号更改为冒号:
defaultScoreResults.append(["Study Up!":1])
但是,based on your previous question,我将假设一系列<String, Int>
词典并不在您寻找的地方附近。
我建议您只想要一个<Int, String>
字典:
var defaultScoreResults = Dictionary<Int, String>()
defaultScoreResults[1] = "Study Up!"
答案 1 :(得分:1)
试试这个:
var deaultScoreResults = [Dictionary<String, Int>]()
deaultScoreResults.append(["Study Up!":1])
您也可以这样声明:
var deaultScoreResults = [[String:Int]]()