回答編集履歴

1

UUID

2019/12/05 08:39

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -1,3 +1,43 @@
1
1
  `Todos.self`と書いていますが、そのJSONは配列ではありません。
2
2
 
3
3
  また、Todo.idに相当するものがJSON内にありません。
4
+
5
+
6
+
7
+ # デコード時にUUIDを生成する
8
+
9
+
10
+
11
+ ```swift
12
+
13
+ struct Todo: Codable, Identifiable {
14
+
15
+
16
+
17
+ //追加分だけ
18
+
19
+ private enum CodingKeys: String, CodingKey {
20
+
21
+ case t1, t2, t3
22
+
23
+ }
24
+
25
+
26
+
27
+ init(from decoder: Decoder) throws {
28
+
29
+ let values = try decoder.container(keyedBy: CodingKeys.self)
30
+
31
+ id = UUID()
32
+
33
+ t1 = try values.decode(Times.self, forKey: .t1)
34
+
35
+ t2 = try values.decode(Times.self, forKey: .t2)
36
+
37
+ t3 = try values.decode(Times.self, forKey: .t3)
38
+
39
+ }
40
+
41
+ }
42
+
43
+ ```