Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- unrecognized selector sent to class
- class
- Git
- 글또9기
- struct
- error해결
- ios 개발 강의
- SWIFT
- MyLife
- K디지털기초역량훈련
- weekly calendar
- 주간 달력
- actionSheet
- 코드스니펫
- 회고
- AnyObject
- 생명주기
- Switch
- uikit
- 연관값
- IOS
- 바이트디그리
- On branch is up to date with ' '
- 제어전송문
- 글또
- 파스칼표기법
- avaliable
- 내_삶
- 다짐글
- copy-on-write
Archives
- Today
- Total
seong_hye, the developer
Swift) 문법 정리 - guard문 본문
코드를 작성할 수록 if문이 깊어져서 불편했던 경험 없으신가요?
if문이 깊어지게 되면 지속적으로 들여써야해서 코드의 가독성이 안좋아져요.
이를 위해 사용하는 것이 바로
guard문 입니다.
'guard: 감시하다' 라는 뜻으로
조건을 일찍 감시하고 코드가 진행될 수 있도록 도와준다.
조건이 틀린 경우는 진행하던 작업을 일찍 끝내버리고, 우리가 원하는 조건의 경우에만 진행하도록 해준다.
if문은 '~면 ~해라' 라는 뜻이라면, guard는 '~아니면 끝내라' 라는 의미이기 때문이다.
따라서 guard문은 '빠른 종료'를 해주는 것이 핵심이다.
guard 조건문 else {return}
//code
조건을 만족하지 않는 경우 -> else
이른 판별 후, 조기 종료가 가능해졌다.
[ 함수에서는 return, throw / 반복문에서는 break, continue ]
조기종료: 조건을 만족하지 않을 때 실행하고, 종료 시킬 코드가 있어야 한다.
조건을 만족하는 경우
코드가 다음 줄로 넘어가서 계속 진행된다.
일반적으로 조건으로 걸러낼 때 사용하게 된다.
예시
func checkMoney(money: Int?)-> String {
//money가 옵셔널이라면 벗기는 작업
guard let money = money else { return "돈이 없습니다" }
print("\(money)만큼 돈이 존재합니다.")
}
if문보다 guard문을 사용하는 이유
가독성을 높이며 if문의 불편함을 해소한다.
여러개의 옵셔널타입을 안전하게 벗기는 것이 가능하다
- code 영역이 변경되지 않는다.
- guard 문에서 선언된 변수를 아래 문장에서 사용 가능하다.
참고자료)
'IOS' 카테고리의 다른 글
Swift) Alert vs Action Sheet (0) | 2022.07.19 |
---|---|
Swift) AutoLayout vs Frame (0) | 2022.07.19 |
Swift) 문법 정리 - inout 키워드 (0) | 2022.07.19 |
Swift)문법 정리 - 고차함수 (0) | 2022.07.12 |
Swift) 문법 정리 - 클로저 (Closure) (0) | 2022.07.12 |
Comments