Swiftベース-列挙タイプ

1624 ワード

  • 概念紹介
  • は、コード内でこれらの値を安全な方法で使用できるように、汎用タイプの関連する値のセットを定義しています.
  • C/OC言語で指定された相関名を整数値のセットとして列挙する
  • Swiftの列挙は、各列挙メンバーに値を提供する必要がなく、より柔軟である.文字列、文字、または整数値または浮動小数点値
  • を提供することもできる.
  • 列挙タイプの構文
  • enumキーワードを使用し、それらの定義全体を括弧のペア内に
  • 配置する.
    enum SomeEnumeration {
    // enumeration definition goes here
    }```
    
    *        
    
    *                
        * case                
        *    C   Objective-C   ,Swift                        
        *    CompassPoints   ,North,South,East West       0,1,2 3
    
    ```swift
    enum CompassPoint {
      case North
      case South
      case East
      case West
    }
    
  • 定義方法2:複数のメンバー値が同じ行に表示される
  • enum Planet {
      case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
    }
    

    列挙タイプに値を割り当てる
  • 列挙タイプ付与値は、文字列/文字/整数/浮動小数点型であってもよい
  • 列挙タイプに値が付与されている場合は、列挙タイプの後に具体的なタイプ
  • を明確に説明する必要があることに注意する.
    // 1.       
    enum CompassPoint : Int {
      case North = 1
      case South = 2
      case East = 3
      case West = 4
    }
    
    enum Planet {
      case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
    }
    
    
    // 2.       
    let p = Planet(rawValue: 3) //     ,              
    
    if let p = p {
        switch p {
        case .Mercury:
            print("Mercury")
        case .Venus:
            print("Venus")
        case .Earth:
            print("Mercury")
        case .Mars:
            print("Mars")
        case .Jupiter:
            print("Jupiter")
        case .Saturn:
            print("Saturn")
        case .Uranus:
            print("Uranus")
        case .Neptune:
            print("Neptune")
        }
    }