오늘은 Swift의 반복문에 대해서 다뤄보겠다! :)
반복문은 말그대로 반복적으로 해당되는 코드블럭을 실행하게 만드는 구문이다.
Swift 의 반복문 키워드는 대표적으로 for-in, while, repeat-while 이 있다.
하나씩 살펴보도록 하자
1. for - in
for 상수 초기식 ; 조건식 ; 변화식 {
코드 블럭
}
에 익숙한 사람이라면 자연스럽게

이런식의 코드를 쓰겠지만, "이런 C 스타일의 구문은 siwft3에서 지워졌다." 라는 에러메세지로 알 수 있듯이,
더 이상 저런 형식의 for문은 사용할 수가 없다.
그 대신에 Swift 에서는 for-in 구문을 써주면 된다!
for - in 은 in 때문에 생소할 수 있을 수 있고, 아마 파이썬을 한 사람이면 익숙할 것이다.
어려울 것 없이 순회대상 또는 범위가 있는 코드에 써주면 된다.
구조는 다음과 같다.
Swift 에서는
for <값> in <순회범위> {
코드블럭
}
사용예제를 살펴보자

numbers 라는 배열이 있고 i 는 그 배열을 순회하며 출력한다.
따라서 결과값은 1,2,3,4,5 차례대로 출력된다.
특정한 조건을 달고 싶다면 조건문 if를 넣어주어도 된다.

i는 위 코드 예제처럼 배열을 순회한다. 다만 달라진 점은 if문의 등장으로 i가 2로 나눠 나머지가 0일 때, 즉 짝수일때만 출력하라는 조건식을 써주었다.
결과값은 당연히 배열 내의 짝수인 2,4 가 출력된다.
마지막 for-in 예제

이번에 in <범위대상> 을 직접 써줬다. ...의 사용으로 범위는 i >= 1 && i<=3 (1 이상 3이하) 인 [1,2,3]이 된다.
result 의 초기값은 1로 설정하고 i의 값을 루프를 돌때마다 result에 곱해준다.
결과값은 1,2,6 이 될 것이다.
2. while
while 은
while 조건식 {
코드블럭
}
의 구조로, 조건식에 맞다면 해당 코드블럭을 계속 실행한다.
예제를 들어보자

count = 0 으로 초기화 되어있고, 그 값이 50보다 작다면 계속 1씩 증가할 것이다.
count 는 0 부터 49까지 점차 값이 증가할 것이고, 49일때 까지만 조건식을 충당해 코드 블럭내로 들어가고
그 안에서 1이 더해진 다음 50이 되어 while 루프 밖을 빠져나온다.
따라서 루프 밖에서 50이라는 결과값이 출력되는 것!
다음으로 이 코드 구문을 repeat-while 을 이용하여 써보겠다.
3. repeat-while
repeat - while 문은 do - while로 이해하면 된다.
repeat {
실행 구문
} while(조건식)
의 구조를 가지고 있다.

컴파일러는 repeat 내를 먼저 실행하고 while의 조건식이 맞는지 비교한다.
결과값은 50이 출력될 것이다. (count2 가 49일때 1이 더해져 50이 되기 때문에 조건식에 맞지 않아 해당 루프를 빠져나오기 때문!)
마지막 repeat-while 예제를 살펴보겠다.
1씩 증가하는 i를 total 에 더해주는 구문이다. 다만 여기서 조건은 i 가 10 보다 작을 때 까지기 때문에
i 는 초기값인 0 부터 9까지 증가하며 그 값을 total 에 더해준다.
결과값은 아래와 같다.

오늘은 이렇게 Swift 의 반복문에 대해 다뤄보았다. 다음 파트에서는 옵셔널과 옵셔널 바인딩을 해야겠다!
'iOS' 카테고리의 다른 글
| Swift 3-1장 - 조건문 (if, switch, guard) (0) | 2021.12.20 |
|---|---|
| Swift 2장 - 함수와 매개변수/전달인자 (0) | 2021.12.13 |
| Swift 1장 - Swift와 기본 문법 (데이터타입/상수변수/컬렉션) (0) | 2021.12.09 |