У меня есть два разных UIPickerView
, которые находятся в разных пользовательских UITableViewCell
.Первые UIPickerView
данные, загруженные на страницу загрузки.И второй pickerView
загружается после того, как сделан первый выбор pickerView
.Как передать первое выбранное значение второму pickerView
?Я не могу использовать ячейку didSelect
, потому что PickerView
уже отслеживает взаимодействие, поэтому не запускает табличное представление delegate
.
Мой код:
extension ReservationViewController: UITableViewDelegate {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.row == ReservationCell.MakeReservation.rawValue {
//print value --> this is not firing
}
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
if indexPath.row == ReservationCell.MakeReservation.rawValue {
//print value --> this not firing
}
}
}
extension ReservationLocationTableViewCell: UIPickerViewDataSource, UIPickerViewDelegate {
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
//Set number of rows in components
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return self.data.count
}
//Set title for each row
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return data[row]
}
// Update textfield text when row is selected
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
print(data[row]) // I want to pass this value to next cell that contains another PickerView
}
}
Как я передал значение данных в следующую ячейку?