При первом выборе строки TableView она не отвечает - PullRequest
1 голос
/ 17 января 2020

Я написал простое приложение с двумя контроллерами представления:

  • TableViewController с таблицей веб-сайтов для выбора
  • ViewController с WKWebView, который загружает веб-сайт. В этом ViewController также есть наблюдатель значения ключа, который отказывается загружать веб-сайты, не входящие в массив утвержденных веб-сайтов, который заполняется из TableViewController при выборе веб-сайта. , Это функция didSelectRowAt в TableViewController:
        override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
    
            if let vc = storyboard?.instantiateViewController(withIdentifier: "Browser") as? ViewController {
                vc.approvedWebsites = websites
                vc.selectedWebsite = websites[indexPath.row]
                navigationController?.pushViewController(vc, animated: true)
    
            }
    

    В настоящее время, когда я запускаю программу и выбираю любую строку, эта строка останется выделенной и не будет отвечать. Я добавил функцию печати в строку (выше if let), и она не будет печататься.

    Однако, следующая выбранная строка будет отвечать, но с веб-сайтом из строки, которую я ранее выбрал. Я энергично проверил это, и он всегда будет загружать сайт, который я выбрал предыдущий. Когда я возвращаюсь из экрана webView, он сбрасывает все, и я могу воссоздать ту же ошибку, не перезагружая приложение.

    Есть идеи относительно того, что происходит?

1 Ответ

2 голосов
/ 19 января 2020

Разобрался. Убедитесь, что вы использовали DidSelectRowAt not DidDeselectRowAt. * ​​1001 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...