티스토리 뷰
Optional
값이 있을 수도 있고, 없을 수도 있는 경우를 포함하는 임시적 타입
값을 안전하게 꺼낼 수 있게 하여 런타임 오류를 피할 수 있다.
옵셔널은 타입 어노테이션에 ? 를 붙여 표기한다.
var name: String? = "jmkim"
print(name) // Optional("jmkim")
옵셔널을 추출하는 4가지 방법
1) 강제 추출 : 값이 있다는 것이 확실할 때 사용
var name: String? = "jmkim"
print(name!) // jmkim
2) if 문으로 nil 이 아니라는 것 확인 후 해제
var name: String? = "jmkim"
if name != nil {
print(name!) // jmkim
}
3) 옵셔널 바인딩
if let
var name: String? = "jmkim"
if let name = name {
print(name) // jmkim
}
guard let
var name: String? = "jmkim"
func guardExe(name: String?) {
guard let name = name else {
// name 이 nil인 경우 실행
return
}
print(name) // "jmkim"
}
guardExe(name: name)
4) Nil - Coalescing
var name: String? = "jmkim"
print( name ?? "" ) // jmkim
'IOS > swift' 카테고리의 다른 글
[Swift] ARC (0) | 2022.04.05 |
---|---|
[Swift] Method Dispatch 와 성능 최적화 (0) | 2022.04.05 |
[Swift] Codable (0) | 2022.03.22 |
Property wrapper (UserDefaults 적용) (0) | 2022.03.05 |
Result Type (0) | 2022.03.03 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 네트워크
- network
- nginx
- ElasticSearch
- python
- 도커
- flask
- WEB
- MYSQL
- spark
- pytest
- ios
- BigData
- 리눅스
- SWIFT
- linux
- logstash
- SQL
- 엘라스틱서치
- 로그
- docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함