performSegueで画面遷移時、次画面へデータを送ることができません

tableViewのセルをタップ時、performSegueで次画面へ遷移しようと思っています。
その際、次画面へデータを送りたいのでprepareメソッド内にて設定しているのですが、遷移した画面ではデータが送られていません。
解決方法をご教示いただけませんでしょうか。


遷移前のViewContrller

viewController

// セルがタップされた時の処理 override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { print("tapped") performSegue(withIdentifier: "EditNavigationController", sender: self) } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "editNavigationController" { let NC = segue.destination as! UINavigationController let nextVC = NC.topViewController as! EditViewController       ↓選択したデータが持つインスタンスを次画面のプロパティに設定 nextVC.memo = self.memos[(self.tableView.indexPathForSelectedRow?.row)!] } }

遷移先のViewContrller

viewController

class EditViewController: UIViewController { var memo: Memo? @IBOutlet weak var nameText: UITextField! @IBOutlet weak var textText: UITextField! @IBOutlet weak var saveButton: UIButton! override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) if let memo = memo{ self.nameText.text = memo.name self.textText.text = memo.text } self.saveButton.isEnabled = false }

コメントを投稿

0 コメント