回答編集履歴

1

リセット方法を追記

2020/08/16 03:21

投稿

TsukubaDepot
TsukubaDepot

スコア5086

test CHANGED
@@ -39,3 +39,39 @@
39
39
 
40
40
 
41
41
  「リセット」が何を持ってリセットするのか次第ですが、たとえば記録している ToDo のデータの `isDone` をリセットするのであれば、そのように記述し、適切なタイミングで TableView をリロードすればいいかと思われます。
42
+
43
+
44
+
45
+ ##追記
46
+
47
+
48
+
49
+ リセットについては、例えば以下のようなメソッドを追加し、ボタンを押した時にこのメソッドを呼べばいいかと思います(処理方法は他のメソッドの内容に揃えました)。
50
+
51
+
52
+
53
+ ```Swift
54
+
55
+ private extension ViewController {
56
+
57
+ // 前略
58
+
59
+ func resetAllDone() {
60
+
61
+ for oldTodo in viewModel.currentTodos {
62
+
63
+ let newTodo = Todo(id: oldTodo.id, title: oldTodo.title, isDone: false)
64
+
65
+
66
+
67
+ viewModel.updateTodo(for: oldTodo.id, to: newTodo)
68
+
69
+ }
70
+
71
+ tableView.reloadData()
72
+
73
+ }
74
+
75
+ }
76
+
77
+ ```