나의 발자취
옵셔널 타입의 내부 구조 본문
메모리 공간에 임시적인 타입(optional(10) / nil)으로 들어있고 언랩핑을 통해 실제 값 10 또는 none으로 바뀌게 된다.
예를 들어, Int? -> ( .some / .none ) 으로 되어있으면
enum Optional<Wrapped> {
case some(Wrapped)
case none
}
switch num {
case .some(let a): // let a = 7 // 열거형 case 패턴을 활용해서, 내부 연관값을 꺼냄
print(a)
case .none:
print("nil")
//print(num!)
}
=================================
.none과 nil은 완전히 동일
.none은 명시적인 열거형으로 표현한 것이고, 일반적으로는nil키워드(값이 없다)를 사용할뿐
'앱 개발 > iOS' 카테고리의 다른 글
옵셔널 (0) | 2022.06.25 |
---|---|
열거형과 switch문 (0) | 2022.06.03 |
열거형 (0) | 2022.05.27 |
컬렉션 관련 이론: KeyValuePairs, Copy-On-Write 최적화 (0) | 2022.05.26 |
스위프트 컬렉션(3) Set (0) | 2022.05.26 |
Comments