티스토리 뷰
assert
- 특정 조건을 체크하고, 조건이 성립되지 않으면 메세지를 출력 하게 할 수 있는 함수
- assert 함수는 디버깅 모드에서만 동작하고 주로 디버깅 중 조건의 검증을 위하여 사용한다.
guard 문
- 뭔가를 검사하여 그 다음에 오는 코드를 실행할지 말지 결정 하는 것
- guard 문에 주어진 조건문이 거짓일 때 구문이 실행됨
assert
import Foundation
var value = 0
assert(value == 0)
value = 2
aseert(value == 0, "값이 0이 아닙니다")

playground에서 코드를 작성하고 실행하면 런타임 에러가 발생한다.
assert 함수는 값을 실행하고 조건이 맞지 않으면 에러를 발생시키는 함수기 때문에 이렇게 나온다.
guard
guard 조건 else {
// 조건이 false 이면 else 구문이 실행되고
return or throw or break 를 통해 이 후 코드를 실행하지 않도록 한다.
}
import UIKit
func guardTest(value: Int?) {
guard let value = value else { return }
print(value)
}
guardTest(value: 2)
guardTest(value: nil)
위에 코드를 실행하면 2만 찍힌다..!
value 값을 옵셔널 값으로 지정하고 guard 구문을 통해 옵셔널 바인딩을 실행한다.
guard 문의 조건이 맞으면 통과되고 옵셔널 값을 벗긴다..!
nil 은 guard 문에 막혀 통과를 못해서 print 를 찍어도 아무것도 안나온다!
assert 이번에 공부하면서 처음 봐서 개념에 대해 이해했고 ,,!
guard 는 밥 먹듯이 쓰이는 구문이라 공부와 응용이 필요하다고 생각해서
다시 정리해보았다 ..!
'Swift 문법 정리 - iOS' 카테고리의 다른 글
[Swift] switch문 안에 조건 (where절) (2) | 2022.04.12 |
---|---|
[Swift] 랜덤함수 (0) | 2021.09.26 |
[Swift] 클로저 (0) | 2021.08.03 |
[Swift] 클래스 VS 구조체 / 열거형 (0) | 2021.08.02 |
[Swift] 인스턴스 / 프로퍼티 / 메서드 (1) | 2021.08.02 |