後ろのすべてにおいて解かれた値が用いられる。どちらの場合も、式全体の値がオプショナル値である。クラスや他のすべての名前付き型と同様に、列挙型もそれに関連したメソッドを持てる。あるから、最初の生の値をを指定さえすればよい。残りの生の値は順番に割り当てられる。生の値の型は文字列型も浮動小数点型も使える。イニシャライザを使う。convertedRank.simpleDescription()}列挙型のメンバーの値は実際にその値であり、単に生の値の別の書き方というわけではない。実際、もし意味のある生の値が無い場合は、付ける必要も無い。構造体は、メソッドやイニシャライザも含めて、クラスと多くの同じ動作をサポートする。重要な違いの一つは、コード内で構造体が渡される時には常にコピーされるのに対し、クラスは参照が渡されるということである。threeOfSpaces.simpleDescription()列挙型のメンバーのインスタンスは、そのインスタンスに関連付けられた値を持つことができる。同じ列挙型の複数のインスタンスがそれぞれのインスタンスに関連付けられたことなる値を持つこともできる。値は、インスタンスを作るときに設定する。関連付けられた値と生の値は違うものである。列挙型のメンバーの生の値はすべてのインスタンスを通して同じであり、列挙型を定義するときに決められる。