티스토리 뷰

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

 

'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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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 29 30
글 보관함