티스토리 뷰
Optional
값이 있을 수도 있고, 없을 수도 있는 경우를 포함하는 임시적 타입
값을 안전하게 꺼낼 수 있게 하여 런타임 오류를 피할 수 있다.
옵셔널은 타입 어노테이션에 ? 를 붙여 표기한다.
var name: String? = "jmkim"
print(name) // Optional("jmkim")
옵셔널을 추출하는 4가지 방법
1) 강제 추출 : 값이 있다는 것이 확실할 때 사용
var name: String? = "jmkim"
print(name!) // jmkim
2) if 문으로 nil 이 아니라는 것 확인 후 해제
var name: String? = "jmkim"
if name != nil {
print(name!) // jmkim
}
3) 옵셔널 바인딩
if let
var name: String? = "jmkim"
if let name = name {
print(name) // jmkim
}
guard let
var name: String? = "jmkim"
func guardExe(name: String?) {
guard let name = name else {
// name 이 nil인 경우 실행
return
}
print(name) // "jmkim"
}
guardExe(name: name)
4) Nil - Coalescing
var name: String? = "jmkim"
print( name ?? "" ) // jmkim
'IOS > swift' 카테고리의 다른 글
| [Swift] ARC (0) | 2022.04.05 |
|---|---|
| [Swift] Method Dispatch 와 성능 최적화 (0) | 2022.04.05 |
| [Swift] Codable (0) | 2022.03.22 |
| Property wrapper (UserDefaults 적용) (0) | 2022.03.05 |
| Result Type (0) | 2022.03.03 |