swift - 试图从 3 个组件 pickerView 中获取 3 个单独的整数
问题描述
我是新编码,遇到了我的第一个主要障碍。希望有人可以提供帮助。我正在尝试制作拳击比赛计时器。我已经让 pickerview 正确显示轮数、时间和休息时间。但是,我找不到使用 didSelectRow 从代码中获取数字的方法。我觉得我错过了一个变量或其他东西,但我真的不确定。非常感谢您的帮助!这是我到目前为止所拥有的
编辑:我正在使用三种不同的选择器视图。一个用于回合,一个用于每回合的计时器,一个用于回合之间的休息时间。如果可能的话,我宁愿保持这种状态!
导入 UIKit
类 ViewController:UIViewController、UIPickerViewDelegate、UIPickerViewDataSource{
@IBOutlet weak var roundsPicker: UIPickerView!
@IBOutlet weak var timePicker: UIPickerView!
@IBOutlet weak var restPicker: UIPickerView!
var roundsPickerOptions = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
var timePickerOptions = [1, 2, 3, 4, 5]
var restPickerOptions = [30, 60, 90, 120]
var round = 0
var time = 0
var rest = 0
override func viewDidLoad() {
roundsPicker.delegate = self
roundsPicker.dataSource = self
timePicker.delegate = self
timePicker.dataSource = self
restPicker.delegate = self
restPicker.dataSource = self
super.viewDidLoad()
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if pickerView.tag == 1 {
return roundsPickerOptions.count
} else if pickerView.tag == 2 {
return timePickerOptions.count
} else {
return restPickerOptions.count
}
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pickerView.tag == 1 {
return "\(roundsPickerOptions[row]) rounds"
}else if pickerView.tag == 2 {
return "\(timePickerOptions[row]) min."
}else {
return "\(restPickerOptions[row]) sec."
}
}
//这是我迷路的地方!我都不知道写什么了!!!
private func pickerView(_ pickerView: UIPickerView, didSelectRow: Int, inComponent: Int) -> Int {
if pickerView.tag == 1 {
return round
}else if pickerView.tag == 2 {
return time
}else {
return rest
}
}
解决方案
私有函数pickerView(_pickerView:UIPickerView,didSelectRow:Int,inComponent:Int){
if pickerView.tag == 1 {
round = roundsPickerOptions[didSelectRow]
}else if pickerView.tag == 2 {
time = timePickerOptions[didSelectRow]
}else {
rest = restPickerOptions[didSelectRow]
}
}
推荐阅读
- php - 如何将分页重定向到当前页面?- Laravel 5.5
- ajax - 从 AJAX 获取错误消息时出现问题 - 仅在手机上出现错误
- python - 无法在 Python 中将有序字典结果写入 CSV
- reactjs - 无法更新状态(对象数组):反应
- google-apps-script - 使用谷歌应用脚本更新数据验证规则时如何保留原始范围
- python - 在大量迭代中获得递归错误并迭代访问2个列表的联合元素python
- python - Python 列表删除错误
- bigcommerce - BigCommerce - 根据客户群隐藏产品的“添加到购物车”?
- csound - 出现语法错误,csound 中出现意外 T_IDENT 尝试使用 faustcompile
- java - 如何使android应用程序独立于手机语言环境?