【发布时间】:2016-11-10 16:53:18
【问题描述】:
为什么这不起作用?
var lottoTaulukko = [Int]()
var finalLottoTaulukko = [[Int]]()
var laskuri1 = 0
var laskuri2 = 0
while laskuri2 < Int(riviLaskuri) {
while laskuri1 < Int(lottoMuoto) {
showRowsLabel.stringValue += "\(lottoTaulukko[laskuri1])"
finalLottoTaulukko[laskuri2][laskuri1] = lottoTaulukko[laskuri1] // ERROR IS HERE IN THIS LINE! fatal error: Index out of range
showRowsLabel.stringValue += " "
laskuri1 += 1
}
laskuri1 = 1
showRowsLabel.stringValue += "\n"
if laskuri2==10 {showRowsLabel.stringValue += "\n"}
lottoTaulukko.shuffle()
laskuri2 += 1
}
【问题讨论】:
-
您正试图通过索引访问数组的元素,但您传递的索引超出了数组的范围。查看您的代码,我认为您尝试索引的 finalLottoTaulukko 超出了其范围。你初始化这个数组了吗?它的大小是多少?
-
当您尝试访问它们的内容时,您的两个数组似乎都是空的。
-
请考虑重构您的代码。处理数据和修改 UI 组件应该是应用程序逻辑的两个独立部分,或者至少应该分成两个不同的、随后调用的方法。不要像现在这样在一处处理数据和修改标签。
标签: arrays swift multidimensional-array swift2