일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- kakao 2018
- Kakao
- 날씨 앱
- 카카오 2019
- Siwft
- Python
- swift
- c언어
- coco 데이터셋
- 카카오
- 카카오 2018
- roboflow
- 데이터셋 만들기
- swift 시작
- 프로그래머스
- ios 개발 시작
- 문제
- supervisely
- 최솟값 만들기
- SwiftUI
- swift 배열
- 소수
- fast.ai
- 머신러닝
- 카카오 2020
- 파이썬
- 스위프트
- 카카오 2021
- 프로그래머스 답
- 이미지학습
Archives
- Today
- Total
잡초의 일지
[Swfit] Optional 해결방법 본문
728x90
반응형
SMALL
앞서 optional이 왜 일어나는지 알아봤다.(nil때문..)
그럼 해결방법은?
간단하게 말하자면 강제 언랩핑(Forced Unwrapping) , 옵셔널 바인딩(Optional Binding) , 옵셔널 체이닝(Optional Chaining)이 있다.
1. 강제 언랩핑(Forced Unwrapping)
코드설명 <<
test : 똑똑똑 값이 Int입니까?? 그럼 받아들이겠습니다.
(사실 nil이었다.)
res : 나는 Int만 받아들인다. test가 무슨형인지는 나랑 상관없어! 깨부셔서 집어넣어!
그래서 결과 : 아무것도 안뜬다 하지만 런타임 에러가 뜰 수 있기 때문에 ! 는 함부로 쓰면 안된다.
2. 옵셔널 바인딩(Optional Binding)
(숫자있는ver.)
(nil값있는ver.)
(응용ver. 어자피 같은 의미로 쓰인거 그냥 똑같은 이름으로 바꿔줬다. 알아보기 쉽게.)
3. 옵셔널 체이닝(Optional Chaining)
옵셔널 체이닝은 이름에서 느낄 수 있는 것처럼 연속적으로 확인을 하는 것이다.
https://yagom.github.io/swift_basic/contents/16_optional_chaining/
이곳에서 잘 설명되어 있다.
옵셔널 처리 방법은 대체로 이렇게 3가지를 많이 사용한다.
옵셔널이 없으면 좋겠지만, 사용하게 된다면, 옵셔널 바인딩과 강제 언래핑을 사용한다.
그때 그때 적절한것을 사용하면 된다.
728x90
반응형
LIST
'[코딩] 배우는것 > Swift' 카테고리의 다른 글
[Swift] 시간, 날짜 (0) | 2020.02.25 |
---|---|
[ Swift] 자료구조 공부 (0) | 2020.02.19 |
[Swift] Bubble Sort. 버블 정렬. 오름차순 (0) | 2020.02.18 |
[Swift] optional 옵셔널 문제 해결 방법 (0) | 2020.02.08 |
[Swift] 키보드에서 입력 받기, readLine() 쓰는 방법 (0) | 2020.02.08 |
Comments