Swift 2 - 两个组件的UIPickerView值

时间:2016-03-14 12:44:52

标签: swift2 uipickerview uipickerviewdelegate

我有UIPickerView有两个组件,当我更改component[0] the data of the组件[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"
    }

当我选择component[0]时,结果会发生变化但仅适用于String0 我想要实现的是获得"string0.value, string1.value"

1 个答案:

答案 0 :(得分:2)

您可以使用方法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"
}