iOS/Swift

[Swift] 열거형

유훈 | Yuhun 2022. 1. 23. 00:20
반응형

C에도 열거형이 있는듯 한데 Swift에서 처음 알게 된 개념입니다.

struct 또는 class 과 비슷하게 사용할 수 있습니다.

// 열거형
// 하나의 타입이다.
enum Numbers{
    case one
    case two
    case three
    case four
}

var specificNumber: Numbers = Numbers.two
print(specificNumber) // two

specificNumber = .four // 축약 가능
print(specificNumber) // four

// switch문 사용에 용이
switch specificNumber{
case .one, .two, .three:
    print(1,2,3)
case .four:
    print(4)
// 열거형의 모든 값을 정해주면 default가 필요없다.
}

// 열겨형의 선언에서 값을 정해줄 수도 있다.
enum TwoNumbers: Int {
    // 값을 넣어주면 자동으로 1씩 증가한다
    case one = 1
    case two // = 2
    case three // =3
    case four
    
    // method도 추가 가능
    func exFunc() {
        switch self {
        case .one, .two:
            print(1,2)
        case .three, .four:
            print(3,4)
        }
    }
}

// 값을 꺼내서 사용하려면 .rawValue를 붙여주면 된다.
print(TwoNumbers.three) // three
print(TwoNumbers.three.rawValue) // 3

// method 예시
TwoNumbers.one.exFunc() // 1,2 출력

출처 : 야곰 스위프트 기본 문법 강좌

반응형

'iOS > Swift' 카테고리의 다른 글

[Swift] 클래스의 상속  (0) 2022.01.24
[Swift] 클로저  (0) 2022.01.23
[Swift] 구조체, 클래스, 프로퍼티, 프로퍼티 감시자  (0) 2022.01.22
[Swift] 옵셔널에 대해  (0) 2022.01.22
[Swift] 조건문, 반복문  (0) 2022.01.22