-
Swift - Control Flow기술 관련/Apple Swift 2014. 8. 11. 15:19For Loops
- for-in
- for-condition-increment
While Loops- while
- do-while
Conditional Statements- if
- else
- if else
- switch
- case
- switch에 넘겨진 값에 대한 경우 (case)를 정의한다
- C 언어에서 같이 명시적으로 해당 case에 대한 break를 쓰지 않아도 된다
- case A:
- handle it for A
- case B:
- handle it for B
- 여러 case에 해당하는 경우 comma (',')로 연결된 형태로 정의한다
- case A, B:
- handle it for A or B
- Case에 Range 타입을 입력 할 수 있음
- case 1...3:
- Switch 타입이 Tuple인 경우도 처리할 수 있다
- case (A, B):
- case (1...3, 5...10):
- case-where
- 기본적인 case 조건에 where라는 별도 조건을 추가 할 수 있다
- case let (x, y) where x == y:
- default
- case로 정의되지 않은 부분을 처리한다
- Swift에서는 switch 문 사용 시 case 를 꽤 철저히 하도록 강제하고 있다
- 따라서, 명확하게 case를 작성하지 않을 때에는 default를 작성해야 한다
- default의 경우 적어도 실행 가능한 statement를 문을 작성해야 XCode에서 오류 표시가 되지 않는다.
- 좀 귀찮기는 하지만 default에서 별다른 동작을 하지 않는다 하더라도 break를 써 준다
Control Transfer Statements- continue
- break
- fallthrough
- Swift는 C언어와 달리 switch 문에서 궂이 break를 써서 case를 구분하지 않는다
- 따라서, C언어와 같이 case 내부의 실행 조건에 따라 아래 case로 흐름을 넘기기 위해 fallthrough라는 statement가 추가되어 있다
- return
Labeled Statements- switch나 일반적인 loop 문은 같이 중첩해서 사용 할 수 있다.
- switch나 loop 문에서 앞에 colon 문자 (':')과 함께 label을 지정하고, 이후 break나 continue statement 문 뒤에 앞서 지정한 label 이름을 지정하면 해당 label로 지정된 statement에 대해 break 또는 continue 동작을 수행한다.
'기술 관련 > Apple Swift' 카테고리의 다른 글
Swift - Closures (0) 2014.08.12 Swift - Function (0) 2014.08.11 Swift - Data Type #Collections (0) 2014.08.08 Swift - String (0) 2014.08.08 Swift - Operators (0) 2014.08.08