#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)
Удачи