일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- async
- Subject
- 리스트뷰
- 백준
- 생명주기
- ios
- concurrency
- 이스케이핑
- rx
- 프로그래머스
- 구조체
- 차이
- 프로퍼티
- 옵셔널
- 안드로이드
- 해시
- 풀이
- noncopyable
- 자바
- weak
- 스위프트
- View
- observable
- Self
- 알고리즘
- 프래그먼트
- Swift
- 클로저
- 연산자
- RxSwift
- Today
- Total
목록느낌표 (2)
study record
옵셔널은 단어 뜻 그대로 값이 있을 수도, 없을 수도 있음을 나타내는 표현이다. 옵셔널을 읽을 때, 해당 변수 또는 상수에는 값이 없을 수도 있다. 즉, 변수 또는 상수가 nil일 수 있으니 사용에 주의하라는 뜻으로 받아들일 수 있다. 옵셔널 사용 옵셔널 변수 또는 상수가 아니면 nil을 할당할 수 없다. 옵셔널 변수 또는 상수는 데이터타입 뒤에 물음표(?)를 붙여 표현한다. 옵셔널을 사용하는 상황 오류 발생시 간단히 nil을 반환해서 오류가 있음을 알릴 수 있다. 매개변수를 굳이 넘기지 않아도 된다는 뜻으로 매개변수 타입을 옵셔널로 정의할 수 있다. 옵셔널은 열거형으로 구현되어 있다. 옵셔널 추출 옵셔널의 값을 옵셔널이 아닌 값으로 추출한다. 옵셔널 강제 추출 가장 간단하지만 가장 위험한 방법이다. 런..
기타 연산자 (스위프트에 있는 연산자) nil 병합 연산자 A ?? B → A가 nil이 아니면 A를 반환하고, A가 nil이면 B를 반환한다. 부호 변경 연산자 -A → A의 부호를 변경한다. 옵셔널 강제 추출 연산자 O! → O(옵셔널 개체)의 값을 강제로 추출한다. 옵셔널 연산자 V? → V(옵셔널 값)를 안전하게 추출하거나, V(데이터 타입)가 옵셔널임을 표현한다. let valueInt: Int = someOptionalInt != nil ? someOptionalInt! : 0 //훨씬 간단하고 안전하게 옵셔널을 다룰 수 있다. let valueInt: Int = someOptionalInt ?? 0 *참고로 옵셔널 강제 추출연산자 사용은 지양하는 것이 좋다.