본문 바로가기

Optional3

[Swift] 옵셔널(Optional)[4] nil 병합 연산자(??) (Nil-Coalescing Operation) nil 병합 연산자은 영어로 Nil-Coalescing Operator!! nil 병합 연산자의 장점은 ?? 를 사용하여 표기하여 한 줄로 언래핑(Unwrapping)을 아주 쉽게 수행할 수 있음!! nil 병합 연산자(a ?? b)는 옵셔널(Optional) a에 값이 있다면 이를 언래핑(Unwrapping)하고, nil일 경우 디폴트 값인 b를 리턴!!! a는 항상 옵셔널 타입(Optional Type) 임. 🚨 b는 a 안에 저장된 타입과 반드시 일치해야만 함!!!! nil 병합 연산자는 🔽 아래와 같은 코드를 축약한 것임!! a != nil ? a! : b 위의 코드는 삼항 연산자를 사용하여 a가 nil이 아닐 경우 a 안에 래핑 되어있는 값에 접근하기 위해 강제 언래핑 a! 을 하며, 그렇지 않.. 2024. 3. 28.
[Swift] 옵셔널(Optional)[2] 강제 추출(Forced Unwrapping), 옵셔널 바인딩(Optional Binding) 저번 글에서 옵셔널(Optional)에 대해서 공부해 봄 저번글에 보면 var bandName: String? = "The 1975" print(bandName) // Optional("The 1975") 옵셔널 변수가 값을 가질 때 값만 출력되는 것임 아니라 Optional( ) 이라는 껍데기가 붙어서 출력이 되었음 근데 우리가 그 껍데기 안에 값만 원하지 껍데기까지 원하지 않음!!! print("좋아하는 밴드는 \(bandName)") // 좋아하는 밴드는 Optional("The 1975") 좋아하는 밴드가 Optional("The 1975")라고 말할 수는 없겠지?? ㅋㅋㅋ 껍데기를 없애서 값에 접근할 수 있는 방법은 ~~ 강제 추출 (Force Unwrapping) 옵셔널(Optional)로 선.. 2024. 3. 26.
[Swift] 옵셔널(Optional) [1] Swift로 작성된 코드를 보면 변수 타입 뒤에? 가 붙은 것을 종종 볼 수 있는데, 이 물음표가 붙은 변수가 바로 옵셔널(Optional) 변수 옵셔널(Optional) 변수는 값이 있을 수도, 없을 수도 있는 변수임. 공식문서에 따르면 래핑 된 값 또는 값의 부재를 나타내는 형식이라고 함. 옵셔널(Optional)은 Swift가 가지고 있는 큰 특징 중 하나임 nil이 될 수도 있는 인스턴스는 반드시 옵셔널 타입으로 선언해야 함~!! 이렇게만 들어서는 모르니깐 예제를 보면서 알아보자!! var bandName: String = "The 1975" print(bandName) // The 1975 bandName이라는 이름을 가지는 String type 변수를 선언하고 출력해 보면 할당된 문자열이 잘 .. 2024. 3. 26.