Swift — UITableView заморожен

#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 в первом контроллере представления?