前提・実現したいこと
Todoアプリを作成しています。
タスクのセルをタップしたら、そのタスクのメモを書き込める画面に推移させたいです。
###現状起きている問題
セルをタップしても何も起きず、画面が推移しません。
該当のソースコード
推移元(タスク一覧画面)
import UIKit import RealmSwift class ViewController: UIViewController,UITableViewDataSource { var todoItems: Results<Todo>! @IBOutlet weak var table: UITableView! override func viewDidLoad() { super.viewDidLoad() table.dataSource = self let realm = try! Realm() todoItems = realm.objects(Todo.self) table.reloadData() //空のセルの区切り線を消す処理 table.tableFooterView = UIView() //ナビバーのタイトルを大きくする(スクロール時は小さくなる) navigationController?.navigationBar.prefersLargeTitles = true } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) table.dataSource = self let realm = try! Realm() todoItems = realm.objects(Todo.self) table.reloadData() } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return todoItems.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) let object = todoItems[indexPath.row] cell.textLabel?.text = object.title return cell } func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { if editingStyle == .delete { deleteTodo(at:indexPath.row) table.reloadData() } } var currentItem: String? = nil func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { tableView.deselectRow(at: indexPath, animated: true) currentItem = todoItems[indexPath.row].title self.performSegue(withIdentifier: "tomemo", sender: nil) } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "tomemo" { let memoViewController:memoViewController = segue.destination as! memoViewController memoViewController.title = currentItem } } func deleteTodo(at index: Int) { let realm = try! Realm() try! realm.write { realm.delete(todoItems[index]) } } }
推移先(メモを書き込む画面)
import UIKit import RealmSwift class memoViewController: UIViewController { @IBOutlet weak var memo: UITextView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
試したこと
いろいろな記事を参考に
self.performSegue(withIdentifier: "tomemo", sender: nil)
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
のやり方を真似たのですが推移できなかったです。
お力添えいただきたいです。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/15 05:07
2020/01/15 05:26
2020/01/15 05:30
2020/01/15 05:42
2020/01/15 05:49