IOS/swift
[Swift] Optional
내일도이렇게
2022. 3. 22. 16:30
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