-
Optional ChainingSwift 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