Swift문법 박살내기: Optional

이창형·2022년 7월 22일
0

Swift문법 박살내기

목록 보기
4/7
post-thumbnail

안녕하세요 오늘은 Optional을 박살 내봅시다 🥊

옵셔널

옵셔널이란 값이 있는지 없는지 모르는 상태입니다.
값이 없다고 지정하는 'nil'이랑은 다른 개념입니다.

// 옵셔널이란?
// 값이 있는지 없는지 모른다
var someInt: Int? = nil

if someInt == nil {
    someInt = 30
}
print(someInt)

someInt가 nil일때 someInt에 30을 넣어주는 코드를 작성했습니다.
print(someInt)를 하면 30이 나올 것 같지만 30이라고 나오지 않습니다.

결과

왜 이럴까요???

Optional을 벗겨보도록 하겠습니다.

언랩핑

언랩핑이란 옵셔널로 감싸져있는 것을 벗기는 것입니다.

// 언랩핑이란? 감싸져있는 것을 벗기는 것
// someInt에 값이 있으면 someVariable에 넣어준다.
if let someVariable = someInt {
    print("언래핑 되었다. 값이 있다. someVariable: \(someVariable)")
} else {
    print("값이 없다")
}

제일 처음 코드에서 생성한 someInt가 값이 있으면 someVariable이라는 상수에 someInt의 값을 넘겨줍니다.
이렇게 넘겨주게 되면 Optional은 쏙 빼고 30이라는 값만 저장되는 것을 볼 수 있습니다.

결과

옵셔널 방법은 여러 가지입니다. 이번에는 값이 없으면 넣어줄 값을 미리 지정하는 옵셔널 방법을 알려드릴게요.

someInt = nil

// someInt가 비어있으면 즉 값이 없으면 기본값으로 ?? 뒤에 있는 것을 넣겠다
let myValue = someInt ?? 9
print("myValue: \(myValue)")

결과

오늘도 swift 문법 박살 내신다고 고생하셨습니다 🔥

profile
iOS Developer

0개의 댓글