ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Optional Chaining
    Swift 2021. 4. 12. 19:33

    안녕하세요. 그린입니다🟢

    이번 포스팅에서는 Optional Chaining 옵셔널 체이닝에 대해 학습해보겠습니다.

    옵셔널 체이닝 (Optional Chaining)

     : 옵셔널 체이닝이란 옵셔널을 여러번 체인 처럼 사용하는 기술

     -> 옵셔널 체이닝을 된 부분에서 값이 하나라도 nil이면 nil을 반환

    옵셔널 체이닝의 사용

    import Foundation
    
    class Camper {
        var nickName: String
        var description: Description?
        
        init(nickName: String) {
            self.nickName = nickName
        }
    }
    
    struct Description {
        var gender: Gender?
        var age: Int
    }
    
    class Gender {
        var gender: String
        
        init(gender: String) {
            self.gender = gender
        }
    }
    
    let green: Camper = Camper(nickName: "green")
    let greenGender: String? = green.description?.gender?.gender

     : 이렇게 옵셔널 체이닝을 사용하여 줄 수 있다.

     : 만약 강제추출로 옵셔널 체이닝을 해준다면 값이 nil이기에 런타임 오류가 발생한다.

    if let greenGender: String = green.description?.gender?.gender {
        print(greenGender)
        } else {
            print("Not Found")
    }
    
    green.description?.gender?.gender = "Male"

     : 옵셔널 체이닝과 옵셔널 바인딩의 혼합되어 사용하여 값을 찾을 수 있음

    green.description = Description(gender: nil, age: 77)
    green.description?.gender = Gender(gender: "Male")

     : 값을 찾으려면 체이닝 연결된 단계별로 값을 주어주면됨

     

    [참고자료]

    스위프트 프로그래밍 3판 (야곰 지음)

    'Swift' 카테고리의 다른 글

    소켓통신  (0) 2021.04.19
    Early Exit  (0) 2021.04.13
    GCD & Operation  (0) 2021.04.09
    lazy var  (0) 2021.03.17
    Swift Performance  (0) 2021.03.01
Designed by Tistory.