pushViewController не может выполнить segue

#ios #swift

#iOS #swift

Вопрос:

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

Вот фрагмент для didSelectRowAt функции:

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        print(indexPath.row)
        tableView.deselectRow(at: indexPath, animated: true)

        let postsInfo = posts[indexPath.row]
        print(postsInfo)
        let Storyboard = UIStoryboard(name: "Main", bundle: nil)
        let DvC = Storyboard.instantiateViewController(withIdentifier: "NewsFeedDetailedController") as! NewsFeedDetailedController
        DvC.getTitle = postsInfo.title.title
        print(postsInfo.title.title)
        DvC.getSubtitle = postsInfo.description
        print(postsInfo.description)
        DvC.getImg = postsInfo.title.photoURL.absoluteString
        print(postsInfo.title.photoURL.absoluteString)
        DvC.getDate = postsInfo.postdate
        print(postsInfo.postdate)

        self.navigationController?.pushViewController(DvC, animated: true)
    }
  

Все данные печатаются в консоли, поэтому я уверен, что в моей базе данных, которая является базой данных Firebase в реальном времени, проблем нет.

Я также указал идентификатор раскадровки NewsFeedDetailedController для контроллера подробного представления.

Комментарии:

1. Убедитесь, что ваше self.navigationController значение не равно нулю. Проверьте в отладчике

Ответ №1:

Проблема должна заключаться в том, что navigationController = nil . Это означает, что в вашей иерархии у вас нет NavigationController. В этом случае вы должны сделать

present(DvC, animated: true, completion: nil)

Удачи