티스토리 뷰

옵셔널 체이닝은 옵셔널이 연속적으로 연결되는 경우, 유용하게 사용할 수 있는 문법입니다.

하나하나 nil 체크를 할 필요 없이 최종적으로 원하는 값이 있는지 없는지 확인할 수 있습니다.


옵셔널 체이닝을 사용하지 않은 예시 코드

// 나의 여동생의 남자친구의 직업이 궁금하다면?

if let sister = sister {

    if let boyfriend = sister.boyfriend {
    
        if let job = boyfriend.job {
        
            print(job)
            
            } else {
            
                print("no job")
                
            }
    }
}
             

 

- 다음과 같이 계속해서 if let을 중첩하여 사용하여야 합니다.

- 가독성이 떨어지고 코드가 복잡합니다.

 


 

옵셔널 체이닝을 사용한 예시 코드

// 나의 여동생의 남자친구의 직업이 궁금하다면?

if let job = sister?.boyfriend?.job {
        
    print(job)
            
} else {
            
    print("no job")
                
}

- 옵셔널 체이닝을 사용하면 다음과 같이 간단하게 표현할 수 있습니다.

- ?. 로 if let을 생략하며 추출하였습니다.

- 최종적으로 구하고자 하는 값이 존재한다면 job이 출력되고, 존재하지 않는다면 "no job"이 출력됩니다.

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