[Swift] 옵셔널 체이닝(Optional Chaining)

ds-k.mo·2022년 4월 29일
0

Swift

목록 보기
17/22

옵셔널 체이닝(Optional Chaining)

옵셔널에 속해있는 nil일지도 모르는 프로퍼티, 메서드, 서브스크립션에 질의(query)를 하는 과정

-> 만약 옵셔널이 프로퍼티나 메소드 혹은 서브스크립트에 대한 값을 갖고 있다면 그 값을 반환하고 만약 값이 nil이면 nil을 반환한다. 여러 질의를 연결해서 할 수도 있는데, 연결된 질의에서 어느 하나라도 nil이면 전체 결과는 nil이 된다.

코드 예시

import UIKit

struct Developer {
    var name:String
}

struct Company {
    let name : String
    var developer : Developer?
}

var developer = Developer(name: "Daeseong")

var company = Company(name: "DK", developer: developer)

print(company.developer) // nil
//print(company.developer.name) // Error: 옵셔널을 벗기지 않아서
print(company.developer?.name) // Optional("Daeseong")
print(company.developer!.name) // "Daeseong" , 강제 언래핑

0개의 댓글