8.Swiftの列挙タイプ
1673 ワード
列挙タイプの紹介概念紹介 は、コード内でこれらの値を安全な方法で使用できるように、汎用タイプの関連する値のセットを定義しています. C/OC言語で指定された相関名を整数値のセットとして列挙する Swiftの列挙はより柔軟であり、列挙メンバーごとに値を与える必要はない.文字列、文字、または整数値または浮動小数点値 の値を指定することもできます.
列挙タイプの構文 enumキーワードを使用し、それらの定義全体を括弧のペア内に 配置する.
列挙タイプの定義以下はコンパスの4方向の一例である caseキーワードは、新しい行のメンバー値が に定義されることを示す. CやObjective-Cのように、Swiftの列挙メンバーは作成時にデフォルトの整数値 が付与されない.上記のCompassPointsの例では、North,South,East,Westは暗黙的ではなく0,1,2,3 に等しい
定義方法2:複数のメンバー値が同じ行に表示される
列挙タイプに値を割り当てる列挙タイプ付与値は、文字列/文字/整数/浮動小数点型であってもよい 列挙タイプに値が付与されている場合は、列挙タイプの後に具体的なタイプ を明確に説明する必要があることに注意する.
enum SomeEnumeration {
// enumeration definition goes here
}
列挙タイプの定義
enum CompassPoint {
case North
case South
case East
case West
}
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")
}
}