옵셔널을 사용할때 아무런 제한 없이 그냥 사용할 수 있으면 정말 좋겠지만,
IOS 프로그래밍을 하다보면 수행하는 사칙연산, 출력, 색상지정 등 과 같은 수 많은 로직을 작성할때
옵셔널을 *언랩 하지 않으면 에러를 뱉는다.
아주 정말 간단한 사칙연산이다. 인트형 옵셔널 기호를 사용하였고, 언랩핑 작업을 해주지 않아서 에러가 발생하였다.
언랩(언랩핑) 은 무엇일까?
- 옵셔널 상태를 어디서든 사용할 수 있게 풀어주는 것을 말하며 쉽게 비유하면 스마트폰 잠금 해제를 하는 느낌인 것 같다.
- 해당 포스팅에서는 언랩 두 가지 방법을 알아볼 예정이다.
1. 언랩 첫번째 방법
- ( ?? 0) 키워드를 사용한다.
- 해당 키워드를 사용하면 값이 있는 상태라면 해당 값을 그대로 가져가고, nil 이라면 0을 가져간다.
해당 예제를 보면 더욱 쉽ㅈ게 이해할 수 있을 것이다. (변수명은 대충 만들었습니다..)
num1은 값이 있고, num2는 값이 없다.
따라서 값이 있는 num1은 그대로 10을 가져가는 반면, 값이 없는 num2는 0을 취하는 것을 볼 수 있다. [중요]
2. 언랩 두번째 방법 (Force Unwrap)
- ! 키워드를 사용한다.
- 이 친구는 정말 주의해서 사용해야 한다. 잘못사용하면 앱이 크래쉬남 (비정상종료)
- 이 친구는 값이 있다는 확신이 있을때만 사용해야 한다. 값이 없는 상태일때 사용하면 == 크래쉬
(주의하고 또 주의하자)
값이 없는 친구를 언랩하면 무슨일이 발생할까?
nil은 언랩할 수 없다는 말과 함께 심각한 에러를 뱉는다.
두번째 방법을 사용할때는 반드시 값이 있는 경우만 사용할 수 있다. 주의하자
옵셔널 상태를 언랩하는 방법 2가지 끝.
'language > Swift' 카테고리의 다른 글
Swift 스위프트 - 기본 연산자 (0) | 2022.01.15 |
---|---|
Swift 스위프트 - unwrapping if var, if let , guard 까지 (0) | 2022.01.14 |
Swift 스위프트 - 옵셔널 기본 개념 (0) | 2022.01.08 |
Swift 스위프트 - Tuple 튜플 복습 (간단 정리) (0) | 2022.01.08 |
Swift 스위프트 - 튜플 Tuple 을 공부하자 (0) | 2022.01.07 |
댓글