前提・実現したいこと
・TableViewCellをタップすると画面が遷移するようにしたい
・リストを削除した後に別ページへ行くと復活してしまうため削除されたままにしたい
XcodeでToDoリストのような物を作成しており、
リストの追加できるようにしたのですが、
そのリストをタップするとさらに中セグメントに遷移できるようにしたいです。
また、スワイプして削除できるようにしたのですが、リストを追加する画面に行き戻るボタンを押すと復活してしまいます。
例
現状だと、ToDoを一個一個作成するのみ
これを、カテゴリー選択→ToDoの流れにしたいです。
発生している問題・エラーメッセージ
Segueで画面遷移させようかと思いましたが、繋げられず八方ふさがりです。
エラーメッセージ
該当のソースコード
import UIKit
//classの継承を追加
class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
//UITableView、numberOfRowsInSectionの追加(表示するcell数を決める) func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { //戻り値の設定(表示するcell数) return TodoKobetsunonakami.count } //UITableView、cellForRowAtの追加(表示するcellの中身を決める) func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { //変数を作る let HubCell : UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "HubCell", for: indexPath) //変数の中身を作る HubCell.textLabel!.text = TodoKobetsunonakami[indexPath.row] //戻り値の設定(表示する中身) return HubCell } //セルの編集許可 func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { return true } //スワイプしたセルを削除 ※arrayNameは変数名に変更してください func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { if editingStyle == UITableViewCell.EditingStyle.delete { TodoKobetsunonakami.remove(at: indexPath.row) tableView.deleteRows(at: [indexPath as IndexPath], with: UITableView.RowAnimation.automatic) } } //最初からあるコード override func viewDidLoad() { super.viewDidLoad() //追加画面で入力した内容を取得する if UserDefaults.standard.object(forKey: "HubList") != nil { TodoKobetsunonakami = UserDefaults.standard.object(forKey: "HubList") as! [String] } } //最初からあるコード override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() }
}
ソースコード
試したこと
Segueで遷移
補足情報(FW/ツールのバージョンなど)
あなたの回答
tips
プレビュー