Swift 2 - 两个组件的 UIPickerView 值

Swift 2 - UIPickerView values of two components

我有一个包含两个组件的 UIPickerView,当我更改时 component[0] the data of thecomponent[1]` 会重新加载。

现在我尝试使用 didSelectRow 在一个字符串中获取两个组件的值,但是,我无法获得我想要的结果。

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

        if component == 0 {

            String0 = arr0[row]
            pickerView.reloadComponent(1)

        }
        if component == 1{

        String1 = arr1[row]

        }

        print("\(String0), \(String1)")

        // result: " , string1.value"
    }

当我 select component[0] 时,结果发生变化,但仅针对 String0 我想要实现的是 "string0.value, string1.value"

您可以使用方法selectedRowInComponent获取每个组件中的选定行,选定的行将是您构成字符串的正确索引。

尝试:

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

    if component == 0 {
        pickerView.reloadComponent(1)

    }
    String0 = arr0[pickerView.selectedRowInComponent(0)]
    String1 = arr1[pickerView.selectedRowInComponent(1)]

    print("\(String0), \(String1)")

    // result: " , string1.value"
}