2016-07-08 1 views
0

왜 작동하지 않습니까?스위프트 배열 색인이 범위를 벗어났습니다.

let size = ARRAY.count 

을 그리고 당신을 위해 작동하는지 체크 아웃 :

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 
} 
+1

[오류 : 다차원 배열에서 "범위를 벗어난 배열 인덱스"]의 사용 가능한 복제 (http://stackoverflow.com/questions/32650268/error- array-index-of-range-in-multidimensional-array) – Hamish

+0

배열 요소를 인덱스로 액세스하려고했지만 전달한 인덱스가 배열 범위를 벗어났습니다. 귀하의 코드를 보면 최종 LoopTaulukko는 그 범위 밖으로 색인하려고 생각합니다. 이 어레이를 초기화 했습니까? 그 크기는 얼마입니까? – itskoBits

+1

내용에 액세스하려고하면 두 배열이 모두 비어있는 것처럼 보입니다. – Losiowaty

답변

0

하면 배열 마찬가지로 크기를 지정합니다! 색인이있는 경우

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 
}