이번 시간에는 Raw Values에 대해서 알아보겠습니다.
Raw Values는 우리말로 '원시 값'이라고 표현합니다. Swift에서 Raw Value는 열거형의 기능 중 하나로, 각 케이스에 미리 정의된 상수 값을 할당할 수 있도록 해주는 기능을 가리킵니다. 열거형은 관련된 값들의 그룹을 정의하고, 각각의 값은 고유한 식별자인 케이스로 나타낼 수 있습니다. 이러한 케이스에는 Raw Values을 할당할 수도 있습니다.
열거형에서 Raw Values을 사용하면 해당 값을 통해 열거형 인스턴스를 생성하거나, 현재 값을 확인하는 등 다양한 작업을 수행할 수 있습니다. Raw Value는 주로 외부 시스템과의 상호작용이 필요한 경우나, 특정 데이터를 저장하고 전송하기 위해 사용됩니다. Raw Values는 enum 내에서 특정 데이터를 연결하거나 특정 값으로 케이스를 나타내고자 할 때 유용합니다.
enum Weekday: Int {
case sunday = 1
case monday
case tuesday
case wednesday
case thursday
case friday
case saturday
}
이 예제에서 Weekday는 Raw Values의 유형이 Int인 enum입니다. 첫 번째 케이스인 sunday는 Raw Values로 1을 가지며, 이후의 케이스는 연속된 Raw Values를 할당하되, 각각 1씩 증가합니다. 그러나 각 케이스에 수동으로 Raw Values를 할당할 수도 있습니다.
아래 소스 코드처럼 enum 케이스의 Raw Values를 rawValue 속성을 사용하여 접근할 수 있습니다.
let today = Weekday.monday
print(today.rawValue) // 2를 출력합니다.
또한 init?(rawValue:) 이니셜라이저를 사용하여 원시 값을 가진 enum을 초기화할 수도 있습니다.
if let day = Weekday(rawValue: 4) {
print("오늘은 \(day)입니다") // "오늘은 wednesday입니다"를 출력합니다.
}
Raw Values는 주로 외부 소스(API와 같은)에서 데이터를 받아와서 이를 의미 있는 enum 케이스로 매핑해야 할 때 유용합니다. Swift 코드에서 보다 의미 있고 타입 안전한 처리를 위해 Raw Values는 특히 유용하게 사용됩니다.
감사합니다.
틀린 부분이 있거나 더 좋은 내용 훈수 환영합니다!
공감과 댓글 부탁드립니다.
'Apple > Swift' 카테고리의 다른 글
[Swift] 가변 매개변수, call by address 구현 (0) | 2023.10.12 |
---|---|
[Swift] guard~let, 디폴트 매개변수 정의, 함수 응용 (2) | 2023.10.11 |
[Swift] 델리게이트 패턴(Delegate Pattern) (2) | 2023.10.08 |
[Swift] 지연 저장 프로퍼티(Lazy Stored Properties) (0) | 2023.10.05 |
[Swift] 함수에 대한 개념과 다양한 예시 소스 (0) | 2023.09.29 |