라벨이 optional chaining인 게시물 표시

[swift] 옵셔널 체이닝 vs 옵셔널 바인딩

이미지
[swift]옵셔널 체이닝 vs 옵셔널 바인딩 옵셔널 체이닝과 옵셔널 바인딩이 헷갈려 정리해 놓았습니다. 언제 필요할까요? 옵셔널은 프로퍼티에 값이 있을 수도있고, 없을 수도 없음을 나타내는데 사용되었습니다. 옵셔널은 값이 없을 때 nil을 할당 해줍니다. 문제는 우리가 필요한 값이 nil인지 아닌지 확인을 해야하는 번거로움이 있다는 것 입니다. 코드로 예를 들어보겠습니다. class Person { var name: String var job: String? var home: Apartment? init(name: String, home: Apartment?) { self.name = name self.home = home } } class Apartment { var buildingNumber: String var roomNumber: String var security: Person? var owner: Person? init(dong: String, ho: String, security: Person?) { self.buildingNumber = dong self.roomNumber = ho self.security = security } } let chulsoo: Person? = Person(name: "chulsoo", home: apart) let apart: Apartment = Apartment(dong: "101", ho: "202", security: chulsoo) let hyunho: Person? = Person(name: "leeo", home: apart) leeo 라는 사람의 apart 에 있는 security의 이름이 알고 싶습니다.