logo
|
Blog

    [ Swift ] 열거형

    김보람's avatar
    김보람
    Oct 09, 2024
    [ Swift ] 열거형

    열거형은 서로 관련이 있는 값들을 하나의 집합으로 묶어 그룹을 만들고, 코드에서 특정한 값만 선택할 수 있도록 제한할 때 사용한다

    • enum 키워드를 사용해 선언한다

      enum 이름 {
          case 이름1
          case 이름2
          case 이름3, 이름4, 이름5 
      }
    • 대문자 카멜케이스를 이용해 선언하는 것이 일반적이다.

    • 각 case는 그 자체가 고유의 값이며, 열거형내에 고유한 원시값을 가질 수 있다.

      • 원시값에 접근할때는 .rawValue를 이용한다.

      • 원시값으로 Int type을 가질때 할당되지 않은 값은 인덱스의 값을 가진다.

        enum Sum: Int {
            case A
            case B = 1
            case C, D, E
        }
        
        var sum : Sum = .A
        print(sum.rawValue) // 0 출력
      • 원시값으로 String type을 가질때 할당되지 않은 값은 케이스이름의 값을 가진다.

        enum Sum: String {
            case A
            case B = "동대문"
            case C, D, E
        }
        
        var sum : Sum = .A
        print(sum.rawValue) // A 출력
    • 케이스별 연관된 추가 정보를 저장할 수 있어, 더 많은 데이터를 효율적으로 관리할 수 도 있다.

      enum LoginStatus {
          case success(username: String)
          case failure(errorCode: Int)
          case inProgress
      }
      
      
      var currentLoginStatus = LoginStatus.success(username: "Alice")
      
      switch currentLoginStatus {
      case .success(let username):
          print("Welcome, \(username)!")
      case .failure(let errorCode):
          print("Login failed with error code: \(errorCode)")
      case .inProgress:
          print("Login is in progress...")
      }
      
      //출력 : Welcome, Alice!

    Share article

    김보람 | 930802qhfka@gmail.com

    RSS·Powered by Inblog