Я пытаюсь выполнить переход от UITableView
с новостями.Если вы нажимаете одну из новостей, она выполняет переход к выбранным вами новостям.
Это легко, и я делал это несколько раз ... но я не знаю, что я делаю неправильнона этот раз.
NewsDetailViewController выглядит следующим образом:
class NewsDetailViewController: UIViewController {
@IBOutlet weak var newsImage: UIImageView!
@IBOutlet weak var newsTitle: UILabel!
@IBOutlet weak var newsDate: UILabel!
@IBOutlet weak var newsText: UILabel!
var newsLink: String?
override func viewDidLoad() {
super.viewDidLoad()
// Hides the navigation bar.
self.navigationController?.setNavigationBarHidden(true, animated: false)
}
@IBAction func closeNews(_ sender: UIButton) {
navigationController?.popViewController(animated: true)
}
}
А переход в NewsTableViewController выглядит следующим образом:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("you selected the row: \(indexPath.row)")
tableView.deselectRow(at: indexPath, animated: true)
self.performSegue(withIdentifier: "goToNewsDetail", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "goToNewsDetail" {
if let destination = segue.destination as? NewsDetailViewController {
destination.newsLink = "whateverlink"
destination.newsTitle.text = "whatevertitle"
}
}
}
И строка: destination.newsLink = "whateverlink"
Работает отлично.
Но строка: destination.newsTitle.text = "whatevertitle"
Выдает
фатальную ошибку: неожиданно найден ноль при неявном развертывании Необязательногозначение.
И я понятия не имею, что, если происходит.Та же проблема возникает при попытке инициализировать остальные метки в месте назначения.