首页 > 解决方案 > 如何使用 didSelectRow 为多个 UIPickerView 使用数据

问题描述

遇到问题,无法弄清楚如何使用 didSelectRow 方法使用来自 UIPickerView 以外的数据。

问题是组件和行不是分开的,有没有机会使用单独的行和组件?

我试图将 label.text 更改为数组中的一些数据,但即使我更改了一个pickerview,它也会在其他数组中发生变化。

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
        resultLabel1.text = "\(pickerData![component][row]) \(timeNumber[row - 1]) \(timePickerData[row - 1])"

      //    print(component)
      //  print(unitsPickerView.selectedRow(inComponent: component))
      //  print(pickerData![component][row])

    }

标签: arraysswiftuipickerview

解决方案


您可以在 didSelectRow 中使用 if 语句来检查当前正在使用哪个 UIPickerView,然后采取相应的措施。就像是:

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        if pickerView == unitsPickerView {
            // do stuff
        } else {
            // do some other stuff
        }
    }

推荐阅读