teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

一部誤字があったので

2017/12/30 09:36

投稿

komo_ta
komo_ta

スコア275

answer CHANGED
@@ -1,4 +1,4 @@
1
- Todo一覧のViewController側で、データを格納させため配列を作成し
1
+ やりやすくToDoListクラスなのを作成し
2
2
 
3
3
  ```
4
4
  class ToDoList: NSObject {
@@ -8,6 +8,9 @@
8
8
 
9
9
  ```
10
10
 
11
+ Todo一覧のViewController側で、データを格納させるための配列(todoListDataSource)を作成し、その中のrow番目のtoDoListを詳細側で渡せばいいのではないでしょうか?ちょっと雑にバーっと書きました
12
+ ただカスタムクラス(この場合ToDoListクラス)をUserDefaultで管理するのは少しめんどくさいので、この方法だとすんなりいかないかもしれませんが、応用はできるとは思います。(Realmとかだったら使いやすいと思いますし)
13
+
11
14
  ```
12
15
  class ToDoListViewController {
13
16
 
@@ -19,7 +22,7 @@
19
22
  }
20
23
 
21
24
  func getData() {
22
- //ここで、todoListDataSourceに格納するコードをかく
25
+ //ここで、todoListDataSourceに格納するコードをかく
23
26
  }
24
27
 
25
28
  }
@@ -29,12 +32,20 @@
29
32
  func func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
30
33
 
31
34
  let todoDetailVC = ToDetailViewController()
35
+ //ここで遷移先のViewControllerにtoDoListを渡す
32
- toDodeitalVC.toDoList = []
36
+ toDodeitalVC.toDoList = todoListDataSource[indexPath.row]
37
+ //遷移先のコードをかく
38
+ (例)
39
+ navigationController?.pushViewController(todoDetailVC, animated: true)
33
40
  }
34
41
 
35
42
 
36
43
  ```
37
44
 
45
+ toDoList使える↓
46
+
47
+ ```
48
+
38
49
  class ToDoDetailViewController: UIViewController {
39
50
 
40
51
  var toDoList: ToDoList!
@@ -42,4 +53,6 @@
42
53
  func viewDiDLoad() {
43
54
  super.viewDidLoad()
44
55
  }
45
- }
56
+ }
57
+
58
+ ```