for in 구문
→ for 루프상수 in 순회대상 {
// 실행 구문 }

for in 구문의 사용방법
위의 사진은 순회대상인 i의 값을 1~4번까지 반복하는 것이니까 1, 2, 3,4가 순서대로 나오는 것을 확인할 수 있다!
for in 구문은 루프상수는 구문이 반복될 때마다 순회대상이 포함하는 아이템을 넘겨받아 저장해 실행블록 내에 사용할 수 있게해주는 역할을 한다.
루프상수는 실행블록 내에서만 사용가능하다.
순회대상에는 배열 딕셔너리 범위데이터 문자열 등의 타입의 변수, 상수를 사용할 수 있다.

또한 순회대상에는 배열도 사용 가능합니다.
위의 코드에서는 배열 상수로 1~5를 초깃값으로 가지고 있는 상수를 선언했습니다.
그 후 배열을 순회대상으로 사용하였고, 루프상수인 i의 값을 실행하면 1~5가 순서대로 출력되는 것을 확인가능합니다!
repeat while 구문
repeat while 구문은 while문과 마찬가지로 조건식을 반복하지만, 적어도 한번은 반드시! 구문을 실행하는 구문입니다.

위와 같은 형태로 사용합니다.
간단한 예시를 들면

변수 x의 값을 6으로 주었고, 변수x의 값이 5보다 작으면 2를 더하라는 의미입니다.
여기서 의문점은 repeat while구문은 꼭 한번은 반복을 해야하는데 위에 구문에서는 x의 값이 6이기 때문에 조건에 해당하지 않습니다.
그러면 어떻게 될까요?

하지만 값은 8이 출력이 되었습니다.
변수의 값보다 repeat while문은 한번은 꼭 실행이 되어야하기 때문에 6+2 8이 출력이 된 것입니다.
그러면 만약 변수가 아니고 상수로 선언을 하면 어떻게 될까요??

네 .. 오류가 나옵니다
연산자의 왼쪽부분이 문제라고 나오고 x의 값이 let 상수라고 나오는 걸 보아하니 상수로 선언하면 안된다는 걸 알 수 있습니다 ㅎㅎ!
while / repeat while의 가장 큰 차이점은 즉 condition이 참이냐 거짓이냐에 대해서 판별하고 난 뒤 반복을 수행하냐.
먼저 실행해 본 후 condition의 참이냐 거짓이냐에 대해 판별하는 차이인 것 같습니다.
repeat while문은 코드를 작성할 적에 이 부분은 무조건 한번 루프가 돌아야한다! 라고 하면 작성하면 좋겠네요.
'ios' 카테고리의 다른 글
Swift - Content View Controller / Container View Controller / UINavigationController (0) | 2023.01.11 |
---|---|
Swift - 구조체 / 클래스 (0) | 2022.12.31 |
Swift - 함수 (메서드, 매개변수, 클로저) (0) | 2022.12.16 |
Pod init error (0) | 2022.12.15 |
Swift - Alamofire? (0) | 2022.12.15 |