【发布时间】:2019-07-10 09:02:02
【问题描述】:
我正在使用 SwiftUI 并有一个 Picker 选择数组中的一些字符串,这些字符串是数字.. 选择器运行良好,我可以在屏幕上显示值,但是我需要能够将数组中的选定字符串设置为 Double。
我敢肯定有一些非常善良和聪明的人可以帮助我..
我想设置:
var totalFrequency : Double = 0.0
来自 Picker 的两个值。
谢谢!!!
克雷格
import SwiftUI
struct DipoleSelect : View {
@State var mhzValueIndex = 0
@State var mhzValueStepIndex = 0
var frequencyValue = ["1", "2", "3", "4", "5", "6", "7", "8", "9" ]
var frequencyStep = [".000", ".005", ".010"]
var totalFrequency : Double = 0.0
var body: some View {
VStack {
Text("Select Frequency")
.font(.largeTitle)
.fontWeight(.heavy)
.padding([.top,], -180.0)
Picker(selection: $mhzValueIndex, label: Text("")) {
ForEach(0 ..< frequencyValue.count) {
Text(self.frequencyValue[$0] + " mhz").font(.largeTitle).fontWeight(.semibold).color(Color.black).tag($0)
}.font(.title)
}.padding(.top, -170)
Picker(selection: $mhzValueStepIndex, label: Text("")) {
ForEach(0 ..< frequencyStep.count) {
Text(self.frequencyStep[$0]).tag($0)
}
}.padding()
Text("You Selected \(frequencyValue[mhzValueIndex])\(frequencyStep[mhzValueStepIndex]) Mhz")
}
}
}
【问题讨论】:
-
你能解释一下你想要什么吗?问题不清楚。
-
Sorry.. var totalFrequency : Double = 0.0 希望从 Picker 的两个变量中设置。 (frequencyValue[mhzValueIndex]) (frequencyStep[mhzValueStepIndex]) 所以每个选择器都会显示值从数组中,我将它们显示在 Text 中,并希望能够从选择器中获取这些数字并将其设置为 Double ... 例如,一个选择器显示数字 1 到 9,另一个选择器显示数字 .000, .005, .010...所以如果两个选择器选择说 7.005 它是一个字符串,但是我希望将其转换为双精度数。希望这是有道理的...感谢您抽出宝贵的时间。