设置数组索引 (SwiftUI)
Set Index of Array (SwiftUI)
我正在通过 hackingwithswift 完成 SwiftUI 的 100 天,目前是第 35 天,这需要我构建一个时间 table 应用程序。
不幸的是,我在很早的阶段就卡住了,觉得问起来很愚蠢。
如何让我的数组索引从 1 而不是 0 开始?
下面是我的代码和截图 canvas:
struct ContentView: View {
@State private var number = 0
@State private var question = Int.random(in: 0..<13)
let numberRange = Array<Int>(1 ... 12)
var body: some View {
VStack {
Picker("What times tables do you want to test your knowledge on?", selection: $number) {
ForEach(0 ..< numberRange.count) {
Text("\(self.numberRange[[=10=]])")
}
}
.pickerStyle(SegmentedPickerStyle())
Text("What is \(number) x \(question) = ")
}
}
}
来自 Apple 文档:
The first element of a nonempty array is always at index zero.
基本上您需要将 +1 添加到您的 number
变量。
var correctNumber: Int {
number + 1
}
并在显示值或执行计算时使用此 correctNumber
。
Text("What is \(correctNumber) x \(question)?")
由于 correctNumber
是一个计算 属性 它将始终与 number
变量保持同步。
我正在通过 hackingwithswift 完成 SwiftUI 的 100 天,目前是第 35 天,这需要我构建一个时间 table 应用程序。
不幸的是,我在很早的阶段就卡住了,觉得问起来很愚蠢。
如何让我的数组索引从 1 而不是 0 开始?
下面是我的代码和截图 canvas:
struct ContentView: View {
@State private var number = 0
@State private var question = Int.random(in: 0..<13)
let numberRange = Array<Int>(1 ... 12)
var body: some View {
VStack {
Picker("What times tables do you want to test your knowledge on?", selection: $number) {
ForEach(0 ..< numberRange.count) {
Text("\(self.numberRange[[=10=]])")
}
}
.pickerStyle(SegmentedPickerStyle())
Text("What is \(number) x \(question) = ")
}
}
}
来自 Apple 文档:
The first element of a nonempty array is always at index zero.
基本上您需要将 +1 添加到您的 number
变量。
var correctNumber: Int {
number + 1
}
并在显示值或执行计算时使用此 correctNumber
。
Text("What is \(correctNumber) x \(question)?")
由于 correctNumber
是一个计算 属性 它将始终与 number
变量保持同步。