iOS/Swift이론

iOS guard, switch case, 함수

Sweetft 2021. 9. 28. 23:35

guard문

guard <불리언 표현식> else {

// 표현식이 거짓일 때 실행될 코드

<코드 블록을 빠져 나갈 구목>

}

//표현식이 참일 경우 실행될 코드

- 함수에서 빨리 빠져나가기 위한 조기 출구 전략 사용. (함수 외 특정 블록에서도 사용이 가능하나 일반적으로 함수에서 보통 사용)

- if~else 보다 guard~let을 쓰면 코드가 훨씬 깔끔해진다.

 

switch-case문

switch 표현식

{

    case match1:

      구문

    case match2:

      구문

    case match3, match4:

    default:

      구문

}

=> case 별로 중괄호 열고 닫기를 쓰지 않을 것. break는 case 마다 자동으로 붙어있음!

 

let weight = 60.0
let height = 165.0
let bmi = weight / (height*height*0.0001)
var body = ""
if bmi >= 40 {
    body = "DANGER"
}else if bmi >= 30 && bmi < 40 {
    body = "WARNING"
}else if bmi >= 25 && bmi < 30 {
    body = "CAUTION"
}else if bmi >= 18.5 && bmi < 25 {
    body = "NORMAL"
}else {
    body = "LOW"
}
print("BMI:\(bmi), 판정:\(body)")

if~else if문 bmi 계산기

let weight = 60.0
let height = 165.0
let bmi = weight / (height*height*0.0001) // kg/m*m
var body = ""
switch bmi
{
 case 40...100:
    body = "DANGER"
 case 30...40:
    body = "WARNING"
 case 25...30:
    body = "CAUTION"
 case 18.5...25:
    body = "NORMAL"
 default:
    body = "LOW"
}
print("BMI:\(bmi), 판정:\(body)")

switch~case bmi 계산기

 

 

where : 부가적으로 정보를 줄 때 사용한다.

switch-case + where

var score = 93
switch (score)
{
    case 95...100 where score % 2 != 0:
    print("홀수 A+")
    case 90...95 where score % 2 != 5:
    print("홀수 A")
    case 95...90 where score % 2 != 0:
    print("홀수 B+")
    case 85...90 where score % 2 != 5:
    print("홀수 B")
    default:
    print("등급이 B보다 낮거나 짝수입니다.")
}

 

fallthrough : Swift에서 맞는 case문을 찾으면 자동으로 빠져나오는 데, 빠져나가지 않고 밑에 case들을 계속 실행하고 싶을 때 사용

 

 

함수

매개변수(parameter, 인자) : 함수 정의부에서 받아서 처리, 인수(argument) : 호출 시 사용

함수를 스위프트 클래스 내에 선언 시 메서드라고 함.

선언 방법!

func <함수명> (<매개변수 이름>:<매개변수 타입>, <매개변수 이름>:<매개변수 타입>,...) -> <반환값 타입>{

//함수 작성

}

 

func div(x: Double, y: Double) -> Double {
return(x/y)
}
let ans = div(x:15.0, y:4.0)
print(ans)

 

참고 : iOS프로그래밍기초(21년-2학기) 한성현 교수님 강의 및 강의 자료 변형, 요약