Swift/Swift 기초문법
[Swift 기초문법 - 5] Unwrap 옵셔널 변수
힛해
2024. 7. 9. 07:25
728x90
옵셔널이란?
값이 있는지 없는지 모르는 상태를 의미한다!
언래핑이란?
감싸져 있는 것을 벗기는 것
언래핑을 하는 방법과 왜 하는지 코드와 결과로 확인해보자!
import UIKit
var someVariable : Int? = nil
if someVariable == nil {
someVariable = 5
}
if let otherVariable = someVariable {
print("언래핑 되었다. 즉 값이 있다.")
print(otherVariable)
}else{
print("값이 없다.")
}
print(someVariable)
if let 의 과정이 언래핑이다!
결과화면
옵셔널로 선언되어 있는 변수를 그대로 사용하면 Optional로 감싸져있는 것을 print 구문으로 볼 수 있다!
다른 방법으로는 ?? 연산을 사용하면 된다! ( nil 이거나 false 외에는 참! )
var someVariable : Int? = nil
someVariable = nil
let myValue = someVariable ?? 10
print(myValue)
guard let 을 사용하는 방법이 있다! (실제로 개발할때 가장 많이 사용하는 방법
var firstValue : Int? = 50
var secondValue : Int? = 40
func unwrap(parameter : Int?){
print("unwrap() called")
//값이 없으면 리턴해버린다
guard let unWrappedParam = parameter else { // guard let 에서는 보통 return을 사용한다.
return
}
print("unWrappedParam: \(unWrappedParam)")
}
unwrap(parameter: firstValue)
unwrap(parameter: nil)
guard let 은 말그대로 방패처럼 조건에 걸리지 않으면 return으로 함수를 끝내고 그 뒤에 언래핑된 변수를 사용한다!