У меня есть TableView, содержащий массив валют. Массив может содержать несколько элементов, а ячейка TableView содержит TextField.

Пользователи могут добавлять или не добавлять цены для всех валют. Я реализовал метод делегата textFieldDidEndEditing, чтобы получить значение textField. Это мой CellForRowAt:
структура PriceModel { вар страна: CountryListData? вар цена: Строка? var cancel : Bool? init (страна: CountryListData? = ноль, цена: String? = ноль, отмена: Bool? = ноль) { self.country = страна self.price = цена self.cancel = отменить } } // ОТМЕТКА: - Переменные вар PriceArray = [PriceModel]() вар CountryArray = [CountryListData]() var onSaveClick: (([PriceModel])->Void)? var textFieldValues: [IndexPath: String] = [:] func tableView (_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "PriceTableViewCell", for: indexPath) as! ЦенаТаблицаViewCell пусть obj = self.countryArray[indexPath.row] cell.editPriceCodeLabel.text = obj.iso_code ?? "" cell.editPriceTextField.tag = indexPath.row cell.editPriceTextField.delegate = сам если пусть значение = self.textFieldValues[indexPath] { cell.editPriceTextField.text = значение print("значение --> \(значение) по индексу --> \(indexPath.row)") пусть цена = PriceModel (страна: obj, цена: значение, отмена: true) print("цена --> \(цена)") self.priceArray.append(цена) print("priceArray --> \(self.priceArray)") } ячейка.selectionStyle = .none возвратная ячейка } // ОТМЕТКА: - Делегат TextField расширение PriceScreen: UITextFieldDelegate { func textFieldDidEndEditing (_ textField: UITextField) { пусть indexPath = IndexPath (строка: textField.tag, раздел: 0) self.textFieldValues[indexPath] = textField.text ?? "" print("self.textFieldValues --> \(self.textFieldValues)") self.retailPriceTableView.reloadRows(at: [indexPath], с: .automatic) } }
У меня проблема с кодом. Я заметил, что если я не отключу клавиатуру, значение из текстового поля не будет добавлено в переменную self.textFieldValues[indexPath]. Я не уверен, что использую правильный метод для получения значений. Может ли кто-нибудь помочь мне или дать рекомендации? Любая помощь будет принята с благодарностью.
Спасибо!