【发布时间】:2015-12-11 20:27:46
【问题描述】:
我有一小段代码如下所示:
func initAllLabels() {
var scoreLabels:[[[SKLabelNode]]] = []
for (var x = 0; x < modesInGame; x++) {
for (var y = 0; y < levelsInMode; y++) {
for (z = 0; z < labelsInLevel; z++) {
scoreLabels[x][y][z] = SKLabelNode(fontNamed: "Font")
}
}
}
}
所以我要做的是为每个游戏模式存储我的所有标签。我尝试使用多维数组的原因是因为每个级别 (3-5) 我将有多个标签,我想像这样访问它们:
updateText(scoreLabels[currentMode][currentLevel][thisLabel])
并像这样访问当前标签的所有标签:
for label in labelsInLevel:
label.hidden = false
问题是,当我尝试在游戏开始时在 initAllLabels 中创建所有标签时,在循环的第一次运行时出现“索引超出范围”错误(索引:0)。我认为问题是因为我需要在设置其内容之前“附加”到数组,对吗?我如何在像我这样的数组结构中实现这一点?
【问题讨论】:
标签: arrays swift multidimensional-array