设置数组索引(SwiftUI)

问题描述 投票:0回答:1

[我正在通过hackingwithswift做SwiftUI的100天,目前是在第35天,这需要我构建一个时间表应用程序。

不幸的是,我很早就被困住了,觉得很愚蠢。

如何使数组索引从1而不是0开始?

下面是我的代码和画布的屏幕截图:

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[$0])")
        }

    }
    .pickerStyle(SegmentedPickerStyle())

    Text("What is \(number) x \(question) = ")
}
}

}

SwiftUI Canvas

感谢您帮助新手

arrays indexing swiftui picker array-indexing
1个回答
0
投票

摘自Apple文档:

非空数组的第一个元素始终位于索引零。

基本上,您需要将+1添加到number变量中。

var correctNumber: Int {
    number + 1
}

并且在显示值或执行计算时使用此correctNumber

Text("What is \(correctNumber) x \(question)?")

由于correctNumber是一个计算的属性,它将始终与number变量保持最新。

© www.soinside.com 2019 - 2024. All rights reserved.