【发布时间】:2015-01-04 18:59:59
【问题描述】:
我正在制作一个具有不同游戏模式的应用,每个游戏模式都有一些分数。我正在尝试将所有分数存储在数组字典中,其中字典的键是游戏的 id(字符串),并且关联的数组具有该游戏模式的分数列表。但是当我尝试将数组的值初始化为随机值时,Swift 会中断,给我下面的错误。这段代码将在操场上中断。我做错了什么?
let modes = ["mode1", "mode2", "mode3"]
var dict = Dictionary<String, [Int]>()
for mode in modes
{
dict[mode] = Array<Int>()
for j in 1...5
{
dict[mode]?.append(j)
let array:[Int] = dict[mode]!
let value:Int = array[j] //breaks here
}
}
错误:
Execution was interrupted, reason: EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP, subcode=0x0).
【问题讨论】:
-
这很糟糕,因为数组中只有一个值和
j == 1。换句话说,这是一个越界错误。我正在尝试理解您的代码,但遇到了麻烦。确切地说,这应该做什么?
标签: arrays swift dictionary