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학기) 한성현 교수님 강의 및 강의 자료 변형, 요약
'iOS > Swift이론' 카테고리의 다른 글
swift)iOS 프로그래밍 : 클래스 상속(override)과 오버로딩 (0) | 2021.10.08 |
---|---|
Swift) iOS 프로그래밍 : 클래스메서드, init(), 프로퍼티, 메서드 중첩, (0) | 2021.10.07 |
Swift) iOS 프로그래밍 함수, 1급객체, 클로저, 클래스 (0) | 2021.10.05 |
iOS Swift 옵셔널 타입과 강제 언래핑, 연산자, 제어문 (0) | 2021.09.21 |
iOS swift 자료형, let, var, 튜플 (0) | 2021.09.14 |