2014.08.11 15:19

Swift - Control Flow

For 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 동작을 수행한다.


      'Technical Stubs > Apple Swift' 카테고리의 다른 글

      Swift - Closures  (0) 2014.08.12
      Swift - Function  (0) 2014.08.11
      Swift - Control Flow  (0) 2014.08.11
      Swift - Data Type #Collections  (0) 2014.08.08
      Swift - String  (0) 2014.08.08
      Swift - Operators  (0) 2014.08.08
      Trackback 0 Comment 0