본문 바로가기
개발관련

[Swift] Fatal error: Index out of range 에러 원인

by 딸기별땅 2021. 2. 24.

함수를 하나 만들던 중 

for문을 돌리는데 숫자의 범위를 넘어섰다 라고 하네여.

//10 -> "10" -> ["1","0"]
    let str = Array(String(val))
    
    //1부터 세어서 값이 2가 나온다
    print("stringcount: \(str.count)")
    
    
    for i in 0...str.count{
        //0부터 2까지 세게 된다 (0, 1, 2)
        print("aa\(str[i])")
    }

["1","0"]이라는 배열을 받아온뒤...

str.count를 뽑으면 당연히 1이 나올줄 알았는데..^^;; (0부터 시작할 줄 알았어요..)

말그대로 갯수를 세더군요.

for i in 0...str.count-1{
        print("aa\(str[i])")
    }

그래서 위와 같이 count에서 -1을 해주었더니 정상 동작 하네요
목표하는 조건값과, 배열의 갯수가 일치하는지 확인해보시면 되겠습니다.

댓글