Использовать средство выбора для просмотра текста выбранной строки - PullRequest
0 голосов
/ 27 октября 2018

Я хочу просто получить строковое значение для выбранной строки в UIPickerView с помощью вызова:

let myString = getString(from: myPickerView, inComponent: 0)

Я пытался расширить класс UIPickerViewDelegate следующим образом:

extension UIPickerViewDelegate {

    func getString(from pickerView: UIPickerView, inComponent component: Int) -> String {
        return pickerView(pickerView, titleForRow: pickerView.selectedRow(inComponent: component), forComponent: component)
    }

}

Но я получаю ошибку:

"Невозможно вызвать значение нефункционального типа 'UIPickerView'"

1 Ответ

0 голосов
/ 27 октября 2018

Работает, когда я заменяю:

func getString(from pickerView: UIPickerView, inComponent component: Int) -> String {
   return pickerView(pickerView, titleForRow: pickerView.selectedRow(inComponent: component), forComponent: component)
}

по:

func getString(from picker: UIPickerView, inComponent selectedComponent: Int) -> String? {
    return pickerView!(picker, titleForRow: picker.selectedRow(inComponent: selectedComponent), forComponent: selectedComponent)
}
...