我有一小段代码,看起来像这样:多维数组不让我通过循环赋值?
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)。我认为这个问题是因为我需要在设置其内容之前“追加”到数组中,对吗?我会如何在像我这样的数组结构中完成这项工作?
可能重复的[如何创建Swift空的二维数组与大小](http://stackoverflow.com/questions/24811456/how-to-create-swift-empty-two-dimensional-array-with -size) –