SwiftUIでは、Range型は特定の範囲の値を表現するための重要なデータ型です。
この型は、さまざまなシナリオで数値の範囲を表現し、操作する際に使用されます。ここでは、SwiftUIにおけるRangeの基本的な使い方を解説します。
Range型の宣言
let range = 1..<5 // 半開区間の範囲(1以上5未満)
let closedRange = 1...5 // 閉区間の範囲(1以上5以下)Rangeの操作
範囲の要素へのアクセス
for number in range {
print(number) // 1, 2, 3, 4
}
for number in closedRange {
print(number) // 1, 2, 3, 4, 5
}for-inループを使って範囲内の要素にアクセスできます。半開区間では上限値未満まで、閉区間では上限値までループします。
範囲内の値の検証
let containsThree = range.contains(3) // true
let overlaps = range.overlaps(4..<6) // true
let empty = range.isEmpty // false
let lower = range.lowerBound // 1
let upper = range.upperBound // 5Rangeの利用例
スライダーなどのUIコンポーネント
import SwiftUI
struct RangeSmpView: View {
@State private var sliderValue = 50.0
var body: some View {
VStack {
Text("Value: \(Int(sliderValue))")
Slider(value: $sliderValue, in: 0...100, step: 1)
.padding()
}
}
}


UIコンポーネントで数値の範囲を指定する場合にRangeを活用できます。この例では、0から100の範囲の値を持つスライダーを作成しています。
インデックスの操作
import SwiftUI
struct RangeSmpView: View {
let range = 1...3 // 範囲(1から3)
var body: some View {
let names = ["Alice", "Bob", "Charlie", "David"]
let selectedName = names[range] // ["Bob", "Charlie", "David"]
ForEach(selectedName, id: \.self) { name in
Text(name)
}
}
}
配列の特定の範囲の要素を抽出する際にもRangeを使うことができます。この例では、names配列から2番目の要素以降を取得しています。
まとめ
Range型は、SwiftUIで値の範囲を表現し、操作する際に非常に便利です。数値の範囲を扱う様々なシーンで活用し、UIの制御やデータの操作に役立ててください。

