Swift/Swift 기초 문법

[기초] enum 케이스 나누기

hyunjuntyler 2023. 3. 25. 23:54

enum이라는 개념을 알고 있는가? 케이스를 정해주는 것인데, 아직 제대로 써본적이 없는 것 같다.

enum day {
    case morning, afternoon, evening
}

let today = day.morning
print(today)

daymorning, afternoon, evening의 값이 들어간다! today를 출력하면 morning이 나오게 된다.

enum score : Int {
    case good = 100
    case soso = 50
    case bad = 0
}

let myScore = score.good
print(myScore, myScore.rawValue)

위와 같이 케이스별로 값을 정해 줄 수 있다. myScore을 출력하게 되면 good이 나오지만 .rawValue까지 붙이면 100이 출력된다!

enum yourDay {
    case good(score:String)
    case soso(score:String)
    case bad(score:String)
    
    func getScore()->String {
        switch self {
        case .good(let score):
            return score
        case let.soso(score):
            return score
        case .bad(let score):
            return score
        }
    }
}

let day = yourDay.good(score: "99")
print(day.getScore())

 

이것은 좀더 심화과정인데 enum에 getScore()함수를 넣어줘서 rawValue를 가져와줄수도 있다! 결과값은 내가 입력한 99 그냥 day만 출력한다면 good(score: "99")가 출력된다.

 

출처

 

[무료] 개발하는 정대리 스위프트 기초 문법 - 인프런 | 강의

“이 정도는 알겠지” 하고 넘어가는 강의는 그만! 초등학생도 이해할 수 있는 강의를 통해 스위프트 기초 문법을 익혀보세요! iOS 앱 개발을 하는데 큰 힘이 되실 거예요!, - 강의 소개 | 인프런

www.inflearn.com