관리 메뉴

김종권의 iOS 앱 개발 알아가기

[swift] 3. 반복문 및 제어문 본문

swift 5 문법

[swift] 3. 반복문 및 제어문

jake-kim 2020. 3. 25. 02:27

1. 반복문

 1). for, while문은 c++, java의 for문에서 소괄호를 뺀 반복문과 동일

 

 2). repeat - while문. / /do ~ while문과 동일

1
2
3
 repeat {
     <실행할 구문>
   } while <조건식>
 

2. 제어문

 1). guard문 : 조기 종료를 위한 제어문 (조건이 맞으면 그냥 넘어가고 맞지 않으면 다른 조치를 취하라는 제어문)

1
2
3
4
5
6
   var a : Int = 2
   var b : Int = 0
   guard b != 0 else { 
     return
   }
   a / b  // guard에 의해서 실행되기 전에 종료  
 

 

 2). #available문 : 플렛폼의 버전을 확인하는 제어문

1
2
3
  if #available(iOS 9, OSX 10.10*) {
    // iOS 9, OSX 10.10관련된 API 세팅
   else { }
 

 

 3). switch문

  - 암시적인 Fall Through : 조건에 맞는 case에 실행할 구문이 없다면 다음 case문을 실행 

  - 스위프트의 switch문은 break문 생략 가능

  - 튜플 비교는 or비교 연산, 단 let으로 선언해야함

  - 범위 연산자 사용 가능

  - where구문을 통해 상세 비교 가능

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    let myValue : Any = 1
     switch myValue {
        case 1 :  // Fall Through  : 해당 케이스문에 실행할 구문이 아무것도 없으므로 다음 case가 실행, 그 후 바로 종료
        case 2 :
           print("abc")
        case 3,  4:
           print("3과 4")
        default :
           print("not")
     }
 
 

 


3. 제어 전달문

1). break, continue, return

2). fallthrough문 : switch문에서, fallthrough문을 선언하면 바로 밑의 case문을 조건이 맞지 않아도 실행하라는 의미

1
2
3
4
5
6
7
8
9
10
11
 
 switch myValue {
   case 1 : 
     print("1 실행")
     fallthrough
   case 2 :
     print("2 실행")
   case 123 :
   default :
 }
// 결과 : 1 실행, 2 실행
 

 

 

3). 구문 레이블 break문 : 반복문 앞에 레이블, break뒤 레이블 기입

1
2
3
4
5
6
 myOuterLoop : for i in 1...100 {
    myInnerLoop : for j in 1...9{
      if(j==5) {
         break myOuterLoop
      }
  }
 
Comments