
최근 코테를 공부하다가 인덱스 범위를 벗어났다는데 이게 무슨 말이지?? 한번 해결해 보자!!
코드를 보면 remain 배열의 개수까지 반복을 돌려보려고 했는데 오류가 생겼다.
우선 count는 배열의 개수를 리턴을 해준다.
let Array = [1,2,3,4,5]
print(Array.count) //5
그럼 for문을 사용해서 왜 저런 오류가 났는지 살펴보자!
let Array = [1,2,3,4,5]
for i in 0...Array.count {
print(i, terminator: "")
} // 012345
0부터 Array.count까지 반복을 실행하면 012345가 출력된다. 배열은 0부터 시작하기 때문에 배열에 5개가 들어가 있으면 01234까지 존재한다. 하지만 for문에서 Array.count까지 반복을 하면서 4를 넘긴 5까지 반복을 하게 된 것이다. 왜냐?? 위에서 Array.count를 출력해 보니깐 5가 나왔다 그 말은 0부터 5까지 반복한다는 말과 같다. 5는 배열에서 존재하지 않는다. 그래서 인덱스 범위를 벗어났다는 오류가 생긴 것이다.
let Array = [1,2,3,4,5]
for i in 0..<Array.count {
print(i, terminator: "")
} // 01234
이렇게 반복문의 범위를 다시 지정해 주면

에러가 사라졌다. 이제 count를 통해 배열 안의 개수를 받아서 사용할 때는 반복문의 범위를 잘 지정해 주자!!!
'Swift' 카테고리의 다른 글
| [Swift] forEach(_:) 알아보기 (2) | 2024.02.17 |
|---|---|
| [Swift] Dictionary (2) | 2024.01.01 |
| [Swift] 삼항연산자 (2) | 2023.12.29 |
| [Swift] map{ Int($0)! } vs map{ Int(String($0))! } (2) | 2023.11.18 |
| [Swift] Swift의 $0구문은 어떻게 나온걸까? (0) | 2023.11.06 |