VesselWheel

옵셔널(Optional)에 대해서 설명해주세요. 본문

Grammary in Swift

옵셔널(Optional)에 대해서 설명해주세요.

JasonYang 2024. 3. 19. 09:46

옵셔널은 값이 없을 수 있는 상황에서 사용됩니다.  ?를 활용해서 옵셔널로 래핑하고 !로 언래핑합니다. 

 

옵셔널 값이 빈값인지 검사하기 위해서 옵셔널 바인딩을 사용하며

if let, if var, guard let, guard var를 사용해서 옵셔널값을 추출해 새로운 변수에 바인딩합니다. 

옵셔널 값이 nil 아닌 경우가 확실할 경우, 옵셔널값 뒤에 !를 써서 강제로 옵셔널을 추출합니다. 

강제언래핑 대안으로 옵셔널 체이닝을 활용하여 옵셔널인 프로퍼티, 매서드, 그리고 서브스크립트를 조회하고 호출할 수 있습니다. 

 

강제언래핑과 옵셔널 체이닝의 차이점은 옵셔널값이 nil일 때, 옵셔널 체이닝은 실패하는 반면, 강제 언래핑은 런타입 에러가 발생합니다.

https://bbiguduk.gitbook.io/swift/language-guide-1/optional-chaining

 

옵셔널 체이닝 (Optional Chaining) | Swift

언래핑 없이 옵셔널 값의 멤버에 접근합니다. 옵셔널 체이닝 (Optional chaining) 은 현재 nil 일 수 있는 옵셔널 인 프로퍼티, 메서드, 그리고 서브 스크립트를 조회하고 호출하기 위한 프로세스 입니

bbiguduk.gitbook.io