列挙型は enum キーワードで始め、定義全体を波括弧内に配置します。

enum SomeEnumeration {
    // 列挙型の定義
}

次の例は、コンパスの 4 点です。

enum CompassPoint {
    case North
    case South
    case East
    case West
}

列挙型で定義された(NorthSouthEastWest のような)値は、列挙型のケースです。新しい列挙型のケースは、case キーワードで始めます。

NOTE
C や Objective-C と異なり、Swift での列挙型のケースは、生成時にデフォルトの整数値に割り当てられません。上の CompassPoint の例で、NorthSouthEastWest が暗黙のうちに 0123 になるわけではありません。そうではなく、列挙型 CompassPoint の各ケースは、それ自体でれっきとした値です。

複数のケースを、カンマ区切りで 1 行に記述することができます。

enum Planet {
    case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}

各列挙型は、新しい型を定義します。Swift での他の型と同様に、名前は(CompassPoint や Planet のように)大文字で始めます。列挙型の名前を複数形よりも単数形にすることで、あきらかに読み取れるようになります。

var directionToHead = CompassPoint.West

directionToHead の型は、CompassPoint の値で初期化されるときに推論されます。directionToHead を CompassPoint として宣言すると、より短いドットシンタックスを使って別の CompassPoint 値を設定できるようになります。

directionToHead = .East

directionToHead の型がすでにわかっているため、値を設定するときに型を落とすことができます。こうすることで、型が明らかな列挙型の値を扱うときに、コードを読みやすくすることができます。


Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.