[swift] 6. Unwrap 옵셔널 변수
📖 옵셔널(Optional)
옵션(option)의 단어 뜻을 떠올려보며, 있을 수도 있고 없을 수도 있다는 특징을 떠올려 봅시다.
즉, 값이 있는지 없는지 모를 때를옵셔널
이라 합니다.
📌 옵셔널 변수
자료형 뒤에
?
를 붙여서 나타냅니다.
ex)
var someVariable : Int? = nil
💬 nil
은 값이 없음
을 의미함
if someVariable == nil {
someVariable = 90
}
print("someVariable: ", someVariable)
>>> someVariable: Optional(90)
💬 옵셔널 변수
는 값이 Optional()
함수 안에 감싸서 나타남
📌 nil 기본값으로 채우기
만약 상수 값이 비어있을 경우 (nil), 기본값으로 넣고 싶은 값이 있으면
??
를 적습니다.
ex)
someVariable = nil
let myValue = someVariable ?? 10 // nil일 때, 10을 넣겠다!
print("myValue : \(myValue)")
>>> myValue : 10
📖 언랩핑 (Unwrapping)
직역해보면
랩(wrap)
, 즉 감싸져 있는 것을벗기는(un-)
일 입니다.
감싸져 있는 옵셔널을 벗겨 봅시다.
📌 언랩핑 방법 1
새로운 상수를 생성하고 값을 집어 넣습니다.
ex)
if let otherVariable = someVariable {
print("언래핑되었다. 즉 값이 있다. otherVariable : \(otherVariable)")
} else {
print("값이 없다.")
}
>>> 언래핑되었다. 즉 값이 있다. otherVariable : 90
📌 언랩핑 방법 2
가드(guard)
를 활용합니다.
ex)
var firstValue : Int? = 30
var secondValue : Int? = 50 // 두 값을 모두 언랩핑해보자
💬 언랩핑하는 함수를 만듦
func unwrap(parameter : Int?) { // 메소드 안에 들어가는 값을 파라메터라 함
print("unwrap() called")
// 값이 없으면 리턴 해버린다.
// 즉 지나간다.
guard let unWrappedParam = parameter else {
return
}
print("unWrappedParam : \(unWrappedParam)")
}
unwrap(parameter : firstValue)
unwrap(parameter : secondValue)
>>> unwrap() called
unWrappedParam : 30
unwrap() called
unWrappedParam : 50
➡️ 여기에서 () 안에 'parameter :' 쓰는 게 번거롭다면, 함수 작성할 때 'parameter' 앞에 _
를 붙이면 됨
unwrap(firstValue) // 이렇게!!
Author And Source
이 문제에 관하여([swift] 6. Unwrap 옵셔널 변수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dlwogus0128/swift-6.-Unwrap-옵셔널-변수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)