공부한 것 꼭꼭 씹어먹기

옵셔널 체이닝 본문

Swift 기초

옵셔널 체이닝

젤라솜 2021. 10. 30. 20:53
반응형

옵셔널 체이닝 : 옵셔널에 속해 있는 nil일지도 모르는 프로퍼티, 메서드, 서브스크립션 등을 가져오거나 호출할 때 사용할 수 있는 일련의 과정

struct Developer {
	let name: String
}
struct Company {
	let name: String
	var developer: Developer?
}
var developer = Developer(name: "han")
var company = Company(name: "Gunter", developer: developer)
print(company.developer) // Optional에 감싸인 developer 객체 출력됨
print(company.developer.name) // 에러
// company.developer는 옵셔널이므로 developer의 내부 프로퍼티인 name에 접근하기전 옵셔널을 벗겨야한다
// 옵셔널 바인딩으로 벗길수도 있지만 옵셔널 체이닝으로 옵셔널을 unwrap할 수 있다.
print(company.developer?.name) // Optional("han") 출력. developer는 옵셔널이라 nil일수도 있기 때문에 name도 옵셔널도 감쌈.
print(company.developer!.name) // "han" 출력. 강제로 developer의 옵셔널을 벗김
반응형

'Swift 기초' 카테고리의 다른 글

closure  (0) 2021.11.01
try-catch  (0) 2021.10.31
extension  (0) 2021.10.30
protocol  (0) 2021.10.29
타입캐스팅 : is, as  (0) 2021.10.28
Comments