У меня есть UITableView с 2 разделами, в первом есть ячейки, каждая из которых представляет отдельный элемент из массива, а во втором вызывается UIAlertController с текстовым полем. Я хочу, чтобы все, что я пишу в текстовом поле, отображалось в первом разделе tableView. Мой код в настоящее время:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
switch indexPath.section {
case 0:
tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
UserDefaults.standard.set(selectedCaseSolutionsForCell[indexPath.row], forKey: "ollShowAlg\(selectedCaseID)")
print("OLL Case with ID \(selectedCaseID) had its main algorithm changed to \(selectedCaseSolutionsForCell[indexPath.row])")
let newMainSolve : String = UserDefaults.standard.string(forKey: "ollShowAlg\(selectedCaseID)")!
print("THE ALGORITHM IS NOW \(newMainSolve)")
case 1:
tableView.cellForRow(at: indexPath)?.accessoryType = .none
let alert = UIAlertController(title: "Add New Algoritm", message: "", preferredStyle: .alert)
alert.addTextField()
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { [weak alert] (_) in
let textField = alert?.textFields![0] // Force unwrapping because we know it exists.
print("Text field: \(textField!.text!)")
}))
present(alert, animated: true)
default:
return
}
}
Как добавить текстовое поле к массиву, а затем показать его в конце UITableView? Этот вопрос не является дубликатом, так как я не использую пользовательскую ячейку, и у меня нет IBOutlet или IBAction для него.