Glsme / iOS_Interview_Question_Answer

🧙 재르시 면접질문에 대한 답변 정리 Repository입니다.
3 stars 0 forks source link

Optional 이란 무엇인지 설명하시오. #12

Open Glsme opened 1 year ago

Glsme commented 1 year ago

nil을 사용할 수 있는 타입과, 사용할 수 없는 타입을 구분하기 위하여 사용하는 열거형.

nil 이란?

enum Optional<Wrapped> {
    case some(Any)
    case none
}



옵셔널값을 추출하는 방법

  1. 강제 추출 연산자를 붙여 강제로 옵셔널값을 추출
    
    let name: String? = "hano"

print(name!)

2. **if문으로 `nil`이 아님을 확인 후, 강제로 추출**
```swift
let name: String? = "hano"

if name != nil {
    print(name!)
}
  1. Optional Binding
    • 바인딩(상수나 변수에 대입)이 되는 경우만 특정 작업을 진행.
      
      if let n = name {
      print(n)
      }

func doSomething(name: String?) { // func에서만 사용가능 guard let n = name else { return } print(n) }

4. **Nil-Coalescing**
```swift
print(name ?? "신원미상")
  1. Optional Chaining
    • 표현식 자체가 옵셔널의 가능성이 있다는 것을 표현.
    • 체이닝의 결과는 항상 옵셔널이다.
      korea?.seoul?.jungGu