HIT해

[Swift 기초문법 - 5] Unwrap 옵셔널 변수 본문

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으로 함수를 끝내고 그 뒤에 언래핑된 변수를 사용한다!