В моем приложении у меня есть таблица с настраиваемой ячейкой прототипа с 3 метками.Из 3 ярлыков я хочу, чтобы только один из них был обновляемым.Когда пользователь выбирает ячейку и нажимает кнопку редактирования, появляется предупреждение с текстовым полем для изменения значения.Таким образом, предупреждение появляется, но текстовое поле не содержит значение метки, и если я введу новое значение и нажму «Сохранить», оно не обновит значение ячейки.Вот мой кодЧто я не правильно делаю?Это для iOS 12.
@IBAction func editWeight(_ sender: Any) {
let alertController = UIAlertController(title: "Update Weight", message: nil, preferredStyle: .alert)
//getting the index path of selected row
let indexPath = tableView.indexPathForSelectedRow
//getting the current cell from the index path
let currentCell = tableView.cellForRow(at: indexPath!)! as UITableViewCell
alertController.addTextField(configurationHandler: { (textField) in
textField.keyboardType = .numbersAndPunctuation
textField.text = ""
})
alertController.addAction(UIAlertAction(title: "Update", style: .default, handler: { (updateAction) in
let backgroundContext = self.appDelegate.persistentContainer.newBackgroundContext()
self.appDelegate.persistentContainer.viewContext.automaticallyMergesChangesFromParent = true
let weightObject = Weights(context: backgroundContext)
//let indexPath = self.tableView.indexPathForSelectedRow
weightObject.weight = alertController.textFields![0].text!
do {
try backgroundContext.save()
self.tableView.reloadData()
} catch {
print(error.localizedDescription)
}
}))
alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
present(alertController, animated: true, completion: nil)
}