* Optional (옵셔널)
- 값이 있을 수도 있고 없을 수도 있는 변수나 상수를 나타내는 기능
- 안전성과 신뢰성을 높이기 위해 도입됨
- 값이 있다면 "해제되었다(unwrapped)", 값이 없다면 "nil" 이라는 값이 할당 됨
- 옵셔널은 값이 없을 수도 있기 떄문에 값을 사용하기 전에 옵셔널이 해제되어 실제 값을 가지고 있는지 확인해야 함
-> 이를 통해 예기치 않은 nil 값으로 인한 오류를 방지할 수 있음
* 옵셔널 변수 설정
옵셔널 해제 방법
1. 강제 언래핑(Forced Unwrapping)
- 옵셔널의 값을 강제로 추출하는 방법
- 옵셔널 변수 또는 상수의 뒤에 느낌표(!)를 붙여서 사용
- 옵셔널 값이 nil인 경우, 런타임 오류가 발생함
2. 옵셔널 바인딩 (Optional Binding)
- 옵셔널의 값을 안전하게 추출하고 사용하기 위한 방법
- 'if let' 또는 'guard let' 문을 사용하여 옵셔널의 값이 있는지 확인하고 있다면 값을 상수 또는 변수에 바인딩하여 사용
- 'optionalValue' 가 옵셔널일 때, 'if let' 문을 사용하여 옵셔널 값이 있는지 확인하고, 있다면 상수에 값을 할당하여 안전하게 사용하고 없다면 else 블록에서 처리
- 'guard let' 문은 조건이 만족하지 않으면 'else' 블록 내의 코드가 실행되어 종료나 에러 처리를 수행
- 'guard let' 문은 코드의 가독성을 높이고 조건을 만족하지 않는 경우 빠르게 종료할 수 있어 유용함
3. 옵셔널 체이닝 (Optional Chaining)
- 연속된 옵셔널 값의 속성이나 메서드를 호출하는 방법
- 옵셔널 값이 nil인 경우에도 안전하게 호출할 수 있음
- 호출하려는 속성이나 메서드 뒤에 물음표(?)를 붙여 사용
4. nil 합병 연산자 (Nil - Coalescing Operator)
- 옵셔널 값이 nil 일 때 기본 값을 사용할 수 있는 연선자
- '??' 기호로 표시됨
- 일반적으로 옵셔널 값이 nil인 경우에 대비하여 기본 값을 설정할 때 사용
- 옵셔널 값이 nil이 아닌 경우에는 옵셔널 값을 그대로 사용하고, nil인 경우 우측에 제공한 기본 값을 사용
'Swift' 카테고리의 다른 글
Swift - ViewControll의 LifeCycle (0) | 2023.06.29 |
---|---|
Swift - iOS 앱의 라이프 사이클 (App's Life Cycle) (0) | 2023.06.29 |
Swift - UIScrollView 기초 (0) | 2023.06.28 |
Swift - UITableView 기초(1) (0) | 2023.06.27 |
Swift 화면 전환 방식 3. Action Segue 방식 (0) | 2023.06.23 |