iOS/Swift
[Swfit] 옵셔널 체이닝
유훈 | Yuhun
2022. 1. 24. 16:26
반응형
// 옵셔널 체이닝
class Person {
var name: String
var job: String?
var home: Apartment?
init (name: String) {
self.name = name
}
}
class Apartment {
var buildingNumber: String
var roomNumber: String
var `guard`: Person?
var owner: Person?
init(dong: String, ho: String) {
buildingNumber = dong
roomNumber = ho
}
}
let personA: Person? = Person(name: "nameA")
let house: Apartment? = Apartment(dong: "101", ho: "606")
let personB: Person? = Person(name: "personB")
// 옵셔널 체이닝
house?.guard = personB
personA?.home = house
personA?.home?.guard?.name // personB
// nil 병합 연산자 앞이 nil이하면 뒤의 값 대입
// 이거 약간 js의 || 같네
// ex
var ex: String
ex = personA?.home?.guard?.job ?? "nil이 들어 있습니다."
반응형