나의 발자취

옵셔널 타입의 내부 구조 본문

앱 개발/iOS

옵셔널 타입의 내부 구조

달모드 2022. 5. 27. 01:12

메모리 공간에 임시적인 타입(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