반응형
옵셔널이란?
변수를 선언하고 값을 지정하지 않으면 오류가 난다.
-> 이것을 방지하기 위해 옵셔널 등장
옵셔널 타입이란?
값이 없을 수도 있는 경우를 포함하고 있는 임시적 타입
옵셔널 값 사용법
var id: Int? = 3
var password: Int?
print(password) //nil
- 모든 타입 뒤에?(물음표)를 붙이면 옵셔널 타입이 된다.
- 값이 없어도 되는 타입이므로 값이 없어도 괜찮다.
- 값이 없을 시는 nil로 자동 초기화가 된다.
nil이란?
값이 없음을 나타내는 키워드(0이 아니다.)
옵셔널 값 추출
옵셔널 타입에 값은 옵셔널로 감싸져 있으므로 값을 추출 (unwrapping) 해야 한다.
옵셔널 값을 추출하는 방법
강제로 값을 추출(Forced Unwrapping)
옵셔널 값이 nild이 아닌 값이 있다는 것이 확실할 때 사용한다.
var num: Int? = 7
print(num!)
7 //강제 추출연산자 !를 옵셔널 표현식 뒤에 붙여 강제로 옵셔널 값 추출
if문으로 nil이 아님을 확인 후, 강제 추출
if num !=nil {
print(num!)
}
옵셔널 바인딩 (if let 바인딩) ⭐️⭐️⭐️
바인딩이 된다면, 특정 작업을 실행한다.
if num !=nil {
print(num!)
}
guard let 바인딩도 사용 가능하다.
func dosomething(num: Int?) {
guard let n = num else { return }
print(n)
}
닐 코얼레싱 (Nil - Coalescing) 연산자 사용
코얼레싱(coalescing)이란?
더 큰 덩어리로 합치다.
옵셔널 타입에 대하여, 디폴트(기본) 값을 제시할 수 있을 때 사용 (nil의 가능성을 없앰)
var str: String?
var serverName: String?
var userName = serverName ?? "미인증사용자". //옵셔널표현식이 nil이라면, 기본값을 제시
print(userName)
//미인증사용자
함수와 옵셔널 타입
함수의 파라미터를 지정시 옵셔널 타입의 파라미터를 사용할 수 있다.
반응형
'프로그래밍 > Swift' 카테고리의 다른 글
스위프트 [Swift] 프로그래밍의 기본 원리 - 순차 / 조건 (0) | 2023.07.29 |
---|