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ビューを繰り返し定義している。