gpt4 book ai didi

ios - 选择器 View 和 if 语句

转载 作者:行者123 更新时间:2023-11-28 16:15:20 24 4
gpt4 key购买 nike

我使用本教程创建了一个成功的 pickerview:

Link to tutorial

我希望在选择每个选项时能够做一些不同的事情,而大多数教程只展示如何为所有选项做一件事,例如将选项文本放入标签中。

这是我试图做我想做的代码。 (我放入打印部分以查看代码是否正在运行,但没有。)

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if row == 0 {
currentSpeedMeasurement = "MPH"
speed = speed * 2.23694
print("Testing")
}else if row == 1 {
currentSpeedMeasurement = "KPH"
speed = speed * 3.6
} else if row == 2 {
currentSpeedMeasurement = "M/S"
speed = locationManager.location!.speed
//speed = round(100 * speed)
}
}

编辑:下面是我为该项目编写的所有代码。我正在创建一个显示人行进速度的应用程序。我希望用户从 PickerView(名为 measurementPicker)中选择一个速度测量值,例如每小时英里数。

我希望根据用户使用 switch 语句选择的选项激活开关。

我希望速度随后与测量值一起显示在标签中(已转换为所需的测量值)。例如。 “你的速度:10 MPH”

开关似乎没有运行,因为测量始终是 m/s。

请帮忙!

谢谢

最佳答案

代码看起来不错,我觉得用switch会更好

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

switch row {
case 0:
currentSpeedMeasurement = "MPH"
speed = speed * 2.23694
print("Testing")
case 1:
currentSpeedMeasurement = "KPH"
speed = speed * 3.6
default:
currentSpeedMeasurement = "M/S"
speed = locationManager.location!.speed
//speed = round(100 * speed)
}
}

为什么它不工作?我认为你缺少为选择器设置委托(delegate),通过你的 Storyboard来完成

Setting delegate via storyboard

或通过代码:

@IBOutlet weak var pickerView: UIPickerView! {
didSet{
pickerView.delegate = self
pickerView.dataSource = self
}
}

之后它应该可以正常工作。

关于ios - 选择器 View 和 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39151953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com