func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
switch pickerView {
case sexPicker:
return sex.count
case agePicker:
return age.count
case proPicker:
return profession.count
default:
return 0
}
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
switch pickerView {
case sexPicker:
return sex[row]
case agePicker:
return age[row]
case proPicker:
return profession[row]
default:
return ""
}
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
switch pickerView {
case sexPicker:
sexText.text = sexPicker.selectedRow(inComponent: 1) *// This gives only the row value but need string value*
case agePicker:
ageText.text = agePicker.selectedRow(inComponent: 1)
case proPicker:
professionText.text = pickerView(proPicker, titleForRow: 0, forComponent: 1) // Cannot call non-function type uipickerview
default:
break
}
}
Please help me get the string value of selected row of a particular picker view.
It's simple. Please use the data model for it.
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
switch pickerView {
case sexPicker:
sexText.text = sex[row]
case agePicker:
ageText.text = age[row]
case proPicker:
professionText.text = profession[row]
default:
break
}
}