잡초의 일지

[Swfit] Optional 해결방법 본문

[코딩] 배우는것/Swift

[Swfit] Optional 해결방법

JabCho 2020. 2. 8. 00:41
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/

 

옵셔널 체이닝

야곰의 스위프트 기본 문법 강좌입니다.

yagom.github.io

이곳에서 잘 설명되어 있다. 

 

옵셔널 처리 방법은 대체로 이렇게 3가지를 많이 사용한다.

옵셔널이 없으면 좋겠지만, 사용하게 된다면, 옵셔널 바인딩과 강제 언래핑을 사용한다.

그때 그때 적절한것을 사용하면 된다. 

728x90
반응형
LIST
Comments