반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 앱만들기
- openAI
- 어플
- 휴가관리
- 데이터저장
- 자바
- 노코드
- 파이썬
- lookML
- data
- nocode
- 샤딩
- 인공지능
- appsheet
- 구글스프레드시트
- 노코드앱
- Java
- Python
- 데이터분석
- Looker
- 데이터모델링
- 엑셀
- 데이터시각화
- Ai
- 앱시트
- 어플만들기
- 자동화
- 데이터
- app
Archives
- Today
- Total
공부한 것 꼭꼭 씹어먹기
옵셔널 체이닝 본문
반응형
옵셔널 체이닝 : 옵셔널에 속해 있는 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의 옵셔널을 벗김
반응형
Comments