#ios #swift #uitableview #uikit
#iOS #swift #uitableview #uikit
Вопрос:
У меня есть UITableView
вызываемый EditCalendarParticipationViewController
, который переходит через нажатие в раскадровке к другому UITableView
вызываемому PlayerParticipationViewController
.
Проблема в том, что когда я нажимаю на ячейку EditPlayerParticipationController
и выполняю переход, она работает нормально и переходит в PlayerParticipationViewController
. Но когда я закрываю с помощью модальной кнопки или кнопки «Назад PlayerParticipationViewController
«, ячейка, которую я нажал, по-прежнему выделяется в исходном представлении таблицы ( EditPlayerParticipationViewController
), и все представление таблицы заморожено.
Вот некоторый код:
Первый контроллер просмотра:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == segueID,
let destinationVC = segue.destination as? PlayerParticipationDetailViewController,
let indexPath = self.selectedIndexPath {
destinationVC.playerCalendar = self.playerCalendars[indexPath.row]
destinationVC.delegate = self
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//self.textField.becomeFirstResponder()
// Reference the selected indexpath
self.selectedIndexPath = indexPath
performSegue(withIdentifier: segueID, sender: nil)
}
Есть ли что-то, что я должен добавить во второй контроллер представления, чтобы исправить эту проблему
Комментарии:
1. Я предлагаю использовать отладчик, чтобы приостановить программу, пока таблица заморожена, и исследовать, что происходит в основном потоке.
2. Вы устанавливаете делегат. Что делает этот делегат? Что у вас есть в
viewWillAppear
илиviewDidAppear
в первом контроллере представления?