Swiftで繰り返し処理をおこなう場合、通常for-in文などの制御構文を使うが、ビューを繰り返し定義する場合はSwiftUIのForEach構造体を使用する。

var ary = ["A", "B", "C"]
ForEach(0 ..< ary.count) {
    Text(self.ary[$0])
}

上記はForEach構造体の基本的な構文で、配列aryに定義した文字列をTextビューとして表示する簡単な例だ。

実際に使用する場合は以下のようなコードになる。

struct ContentView: View {
    var weathers = ["晴れ", "曇り", "雨"]
    @State var selected = 0
    
    var body: some View {
        VStack {
            Picker(selection: $selected,
                   label: Text("今の天気は?")) {
                    ForEach(0 ..< weathers.count) {
                        Text(self.weathers[$0])
                    }
            }
            Text("現在の天気 : \(weathers[selected])")
        }
    }
}

ユーザーに選択を促すPickerビューについて当記事では詳しく触れないが、選択肢としてTextビューを繰り返し定義している。