回答編集履歴

2

記述ミスを追加

2020/11/17 12:41

投稿

TsukubaDepot
TsukubaDepot

スコア5086

test CHANGED
@@ -16,13 +16,31 @@
16
16
 
17
17
  ```
18
18
 
19
- let value01: String = data01["testValue"]
19
+ let value01: String? = data01["testValue"]
20
20
 
21
21
  ```
22
22
 
23
23
 
24
24
 
25
25
  で目的のフィールドが取得できるかと思います。
26
+
27
+
28
+
29
+ あるいは、
30
+
31
+
32
+
33
+ ```
34
+
35
+ guard let value01: String = data01["testValue"] else { ...
36
+
37
+
38
+
39
+ ```
40
+
41
+
42
+
43
+ のような感じでキャスト失敗時の処理を挟むとさらに良いかもしれません。
26
44
 
27
45
 
28
46
 

1

型推論について追記

2020/11/17 12:41

投稿

TsukubaDepot
TsukubaDepot

スコア5086

test CHANGED
@@ -16,13 +16,17 @@
16
16
 
17
17
  ```
18
18
 
19
- let value01 = data01["testValue"]
19
+ let value01: String = data01["testValue"]
20
20
 
21
21
  ```
22
22
 
23
23
 
24
24
 
25
25
  で目的のフィールドが取得できるかと思います。
26
+
27
+
28
+
29
+ ちなみに、ダウンキャストなどはうまくいかないので、受け取る側のプロパティに明示的に型を与え、型推論が行えるようにする必要もあるみたいです(詳しい原因は追っていません)。
26
30
 
27
31
 
28
32