在双组件 pickerView 中查找两个变量
Finding both variables in a two component pickerView
我找不到任何地方解释如何从 pickerView 的两个组件获取信息。现在它所做的只是将最后移动的组件中的字符串放入测试标签中。我真的不需要它们出现在网点中,而只是可以访问它们。我也想用我注释掉的数组格式
@IBOutlet weak var itemPickerView: UIPickerView!
var pickerViewArray = [["Items", "Key", "Rock"], ["Action", "Turn", "Hit"]]
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return pickerViewArray.count
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return pickerViewArray[component].count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return pickerViewArray[component][row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
itemSelected = pickerViewArray[component][row]
pickerOutletTest.text = itemSelected
}
@IBOutlet weak var pickerOutletTest: UILabel!
您可以通过
获取所有组件中选中项的数组
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
let selectedItems = (0..<pickerViewArray.count).map{ pickerViewArray[[=10=]][pickerView.selectedRow(inComponent: [=10=])]}
print(selectedItems)
}
map
组件索引与其选定值的 ping 是
的缩写形式
var selectedItems = [String]()
for component in 0..<pickerViewArray.count {
let selectedRow = pickerView.selectedRow(inComponent: component)
selectedItems.append(pickerViewArray[component][selectedRow])
}
将您的 didSelectRow 方法更改为以下方法。
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
pickerOutletTest.text = pickerViewArray[0][pickerView.selectedRow(inComponent: 0)] + " " + pickerViewArray[1][pickerView.selectedRow(inComponent: 1)]
}
我找不到任何地方解释如何从 pickerView 的两个组件获取信息。现在它所做的只是将最后移动的组件中的字符串放入测试标签中。我真的不需要它们出现在网点中,而只是可以访问它们。我也想用我注释掉的数组格式
@IBOutlet weak var itemPickerView: UIPickerView!
var pickerViewArray = [["Items", "Key", "Rock"], ["Action", "Turn", "Hit"]]
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return pickerViewArray.count
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return pickerViewArray[component].count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return pickerViewArray[component][row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
itemSelected = pickerViewArray[component][row]
pickerOutletTest.text = itemSelected
}
@IBOutlet weak var pickerOutletTest: UILabel!
您可以通过
获取所有组件中选中项的数组func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
let selectedItems = (0..<pickerViewArray.count).map{ pickerViewArray[[=10=]][pickerView.selectedRow(inComponent: [=10=])]}
print(selectedItems)
}
map
组件索引与其选定值的 ping 是
var selectedItems = [String]()
for component in 0..<pickerViewArray.count {
let selectedRow = pickerView.selectedRow(inComponent: component)
selectedItems.append(pickerViewArray[component][selectedRow])
}
将您的 didSelectRow 方法更改为以下方法。
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
pickerOutletTest.text = pickerViewArray[0][pickerView.selectedRow(inComponent: 0)] + " " + pickerViewArray[1][pickerView.selectedRow(inComponent: 1)]
}