Как получить значение из текстовых полей и добавить это значение в модель данных в UITableViewCell в Swift?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как получить значение из текстовых полей и добавить это значение в модель данных в UITableViewCell в Swift?

Сообщение Anonymous »


У меня есть 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]. Я не уверен, что использую правильный метод для получения значений. Может ли кто-нибудь помочь мне или дать рекомендации? Любая помощь будет принята с благодарностью.

Спасибо!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»