Suyeon9911 / TIL

매일 오전에 적는 미라클 TIL 🥣
10 stars 0 forks source link

[Swift] Optional에 대한 모든 것 #77

Closed Suyeon9911 closed 1 year ago

Suyeon9911 commented 1 year ago

Optional

옵셔널은 어떤 상황에 사용할까요?

옵셔널의 정의 - 열거형

옵셔널 추출 - 언래핑

  1. 강제추출 : 간단하지만 위험한 방법 - 런타임오류가 일어나 ㄹ가능성이 높음 / 지양
  2. 옵셔널 바인딩
    • 값이 있는지 확인할때 사용
    • if 또는 while 구문과 결합
    • if let, if var..
    • if 구문을 실해하는 블록 안쪽에서만 name이라는 임시 상수를 사용할 수 있다.
    • 한꺼번에 여러값들도 가능. 쉼표로 구분
    • if let name = myName, let friend = yourName { } else { }
  3. 암시적 추출 옵셔널
    • 때때로 nil을 할당하고 싶지만, 옵셔널 바인딩으로 매번 값을 추출하기 귀찮거나 로직상 nil떄문에 런타임 오류가 발생하지 않을 것 같다는 확신이 들때 nil을 할당해 줄 수 있는 옵셔널이 아닌 변수나 상수가 필요할때
    • 타입 뒤에 느낌표
    • 일반 값처럼 사용할 수 있으나, 여전히 옵셔널이기 때문에 nil도 할당해줄 수 있다. nil이 할당되어 있을 때 접근을 시도하면 런타임오류가 난다.

옵셔널 사용시 옵셔널 바인딩, nil 병합 연산자, 옵셔널 체이닝 방법을 사용하는 편이 훨씬 안전 하며 스위프트의 지향점에 부합함.