我是新的在斯威夫特,我想做一个单位转换器应用程序,以测试我的技能。 下面是我制作一个选择器的尝试:
struct ContentView: View {
@State private var inputNumber = ""
@State private var inputUnit = 2
@State private var outputUnit = ""
let inputUnits = ["meters", "kilometers", "feet", "yard", "miles"]
let outputUnits = ["meters", "kilometers", "feet", "yard", "miles"]
var body: some View {
NavigationView {
Form {
Section {
TextField("Enter measurement", text: $inputNumber)
.keyboardType(.decimalPad)
Picker("Your unit", selection: $inputUnit) {
ForEach(0 ..< inputUnits.count) {
Text("\(self.inputUnits)")
}
您需要对闭包使用参数,它是一个索引
Picker(selection: $inputUnit, label: Text("Your unit")) {
ForEach(0 ..< inputUnits.count) {
Text("\(self.inputUnits[$0])") //<- $0 is the index for your array
}
}