모바일/SwiftUI ios 공부

스위프트의 switch 구문/ Xcode SwiftUI Playground 공부

yy_dd2 2021. 9. 8. 18:46
반응형

 Xcode SwiftUI Playground  공부

 

스위프트의 스위치구문은 다른언어의 스위치 구문과 차이가 있다

* 스위치 switch 구문을 사용하는 이윺

2-3개 이상 조건문을 걸때 if esle if 만으로 하기엔 너무 많은 시간이 걸리고 읽기 힘듬

 

# 스위프트에서는 뒤에 break가 필요없다 오....

switch

switch 표현식 {
case 일치하는 값1:
    코드 구문
case 일치하는 값2:
    코드 구문
case 일치하는 값3:
    코드 구문
default:
    코드 구문
}

표현식은 값을 나타내거나 값을 반환하는 표현식

switch구문이 동작하게 하는 값

 

switch구문 예

// switch 구문 예
let value = 4

switch (value) {
case 0:
    print("zero")
case 1:
    print("one")
case 2:
    print("two")
case 3:
    print("three")
case 4:
    print("four")
case 5:
    print("five")
default:
    print("Integer out of range")
}

 

case 결합하기

 

// case결합하기
let value1 = 1
switch (value1) {
case 0, 1, 2:
    print("zero, one, two")
case 3:
    print("three")
case 4:
    print("four")
case 5:
    print("five")
default:
    print("Integer out of range")
}

 

범위 매칭하기

// 범위 매칭하기
let temperature = 83
switch (temperature) {
case 0...49:
    print("Cold")
case 50...79:
    print("Warm")
case 80...110:
    print("Hot")
default:
    print("temperature out of range")
}

where 구문 사용

// 범위가 일치하는지 검사하면서 숫자가 홀수인지 짝수인지 확인

// where 구문 사용
let temperature2 = 20
switch (temperature2) {
case 0...49 where temperature2 & 2 == 0:
    print("Cold and even")
case 50...79 where temperature2 & 2 == 0:
    print("Warm and even")
case 80...110 where temperature2 & 2 == 0:
    print("Hot and even")
default:
    print("Temperature out of range or odd")
}

 

 

 fallthrough 구문 사용

이 구문을 사용하면 switch 구문에서 예외 상황 효과를 주고 실행 흐름이 다음 case 구문으로 계속 진행한다

// fallthrough 구문 사용
let temperature3 = 10
switch (temperature3) {
case 0...49 where temperature3 & 2 == 0:
    print("Cold and even")
    fallthrough
case 50...79 where temperature3 & 2 == 0:
    print("Warm and even")
    fallthrough
case 80...110 where temperature3 & 2 == 0:
    print("Hot and even")
    fallthrough
default:
    print("Temperature out of range or odd")
}

 

스위프트의 switch문은 break를 쓸 필요가 없다.

default에서 아무작업을 하지 않을때 사용하면 좋다

//생략
default:
    break
}

 

# 자꾸 마지막에 세미콜론 ; 을 쓸라고 하는데 스위프트는 쓸필요가없어서...다른 언어 할때 안써도 되는걸 까먹을거같다...

 

 

 

 

핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍, 닐 스미스 지음, 황반석 옮김, 제이펍 출판

반응형