文書   >   Swift   >   Swift 標準ライブラリ   >   Basic Behaviors   >   CaseIterable
プロトコル
CaseIterable
そのすべての値のコレクションを提供する型。
宣言
概要
CaseIterable プロトコルに準拠する型は通常、関連した値を持たない列挙型です。CaseIterable 型を使用する場合は、その型の allCases プロパティを使用して、その型のすべての case のコレクションにアクセスできます。
たとえば、この例で宣言されている CompassDirection の列挙体は CaseIterable に準拠しています。あなたは CompassDirection.allCases を通して case の数と case 自体にアクセスします。
enum CompassDirection: CaseIterable { case north, south, east, west } print("There are \(CompassDirection.allCases.count) directions.") // Prints "There are 4 directions." let caseList = CompassDirection.allCases .map({ "\($0)" }) .joined(separator: ", ") // caseList == "north, south, east, west"
CaseIterable プロトコルへの準拠
コンパイラは、列挙型の case の関連した値や @available の属性なしで、その CaseIterable 要件の実装を自動的に提供できます。合成された allCases コレクションは、宣言順に case を提供します。
列挙体の元々の宣言で CaseIterable への準拠を宣言することで、独自のカスタムの列挙体を定義するときに、このコンパイラのサポートを利用できます。上記の CompassDirection の例は、この自動的な実装を示しています。
トピックス
Case へのアクセス
static var allCases: Self.AllCases
この型のすべての値のコレクション。
必須。
この型のすべての値のコレクションを表すことができる型。
必須。
関連
準拠する型
Algorithm
Axis
Edge
vDSP.DCTTransformType
以下も見よ
生の表現
protocol RawRepresentable
関連した生の値との間で変換可能な型。
トップへ
トップへ
トップへ
トップへ