Swift数组索引超出范围

时间:2016-07-08 07:35:07

标签: arrays swift multidimensional-array swift2

为什么这不起作用?

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
}

2 个答案:

答案 0 :(得分:0)

同样指定数组大小:

let size = ARRAY.count

检查它是否适合你!

答案 1 :(得分:0)

尝试检查您的索引是否存在:

while laskuri1 < Int(lottoMuoto) {
    if let lt = lottoTaulukko[laskuri1]?{
        showRowsLabel.stringValue += "\(lottoTaulukko[laskuri1])"
        if finalLottoTaulukko[laskuri2]? != nil && finalLottoTaulukko[laskuri2][laskuri1]? != nil{
            finalLottoTaulukko[laskuri2][laskuri1] = lottoTaulukko[laskuri1] 
        }
    }

showRowsLabel.stringValue += " "
        laskuri1 += 1
}