rawValue
= 열거형에서 바로 사용할 수 있는 값으로 실제로 가지고 있는 값에 대한 접근이다.
예제 1
enum Color : Int {
case red = 0
case green // 1
case blue = 5
case yellow // 6
}
print(Color.red)
print(Color.green)
print(Color.blue)
print(Color.yellow)
print(Color.red.rawValue)
print(Color.green.rawValue)
print(Color.blue.rawValue)
print(Color.yellow.rawValue)
실행결과
// red
// green
// blue
// yellow
// 0
// 1
// 5
// 6
예제 2 : String 형의 열거형 rawValue
enum Name: String {
case Hojin = "호진"
case jiseop = "지섭"
case changmo = "창모"
case hyeonwoo // 값이 지정되지 않으면 case 이름 할당
}
print(Name.Hojin)
print(Name.jiseop)
print(Name.changmo)
print(Name.hyeonwoo)
print(Name.Hojin.rawValue)
print(Name.jiseop.rawValue)
print(Name.changmo.rawValue)
print(Name.hyeonwoo.rawValue)
실행결과
// Hojin
// jiseop
// changmo
// hyeonwoo
// 호진
// 지섭
// 창모
// hyeonwoo
연관 값 ( Associated Value )을 갖는 Enum
case 1
enum Date{
case intDate(Int, Int, Int) // (Int,Int,Int)형 연관값을 갖는 intDate
case stringDate(String) // String형 연관값을 갖는 stringDate
}
var todayDate = Date.intDate(2022,1,12)
switch todayDate{
case .intDate(let year, let month, let day):
print("\(year)년 \(month)월 \(day)일")
case .stringDate(let date):
print(date)
}
실행결과
// 2022년 1월 12일
case 2
enum Date{
case intDate(Int, Int, Int) // (Int,Int,Int)형 연관값을 갖는 intDate
case stringDate(String) // String형 연관값을 갖는 stringDate
}
var todayDate = Date.intDate(2022,1,11)
todayDate = Date.stringDate("2022년 1월 11일")
switch todayDate{
case .intDate(let year, let month, let day):
print("\(year)년 \(month)월 \(day)일")
case .stringDate(let date):
print(date)
}
실행결과
// 2022년 1월 11일
내용출처
https://www.youtube.com/watch?v=kkfOV2LvzAA&list=PLJqaIeuL7nuEEROQDRcy4XxC9gU6SYYXb&index=37
'2022_iOS 앱 개발자 워크숍 > 1, Swift 문법 복습' 카테고리의 다른 글
Swift : Empty Array (0) | 2022.01.15 |
---|---|
Swift : Array (0) | 2022.01.15 |
Swift : Enum [ 열거형 ] (0) | 2022.01.08 |
Swift : Protocol (0) | 2022.01.08 |
Swift : 접근 제어 [ Access modifier ] (0) | 2022.01.07 |
댓글