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

回答編集履歴

2

記述ミスを追加

2020/11/17 12:41

投稿

TsukubaDepot
TsukubaDepot

スコア5086

answer CHANGED
@@ -7,11 +7,20 @@
7
7
  ではなく、
8
8
 
9
9
  ```
10
- let value01: String = data01["testValue"]
10
+ let value01: String? = data01["testValue"]
11
11
  ```
12
12
 
13
13
  で目的のフィールドが取得できるかと思います。
14
14
 
15
+ あるいは、
16
+
17
+ ```
18
+ guard let value01: String = data01["testValue"] else { ...
19
+
20
+ ```
21
+
22
+ のような感じでキャスト失敗時の処理を挟むとさらに良いかもしれません。
23
+
15
24
  ちなみに、ダウンキャストなどはうまくいかないので、受け取る側のプロパティに明示的に型を与え、型推論が行えるようにする必要もあるみたいです(詳しい原因は追っていません)。
16
25
 
17
26
 

1

型推論について追記

2020/11/17 12:41

投稿

TsukubaDepot
TsukubaDepot

スコア5086

answer CHANGED
@@ -7,12 +7,14 @@
7
7
  ではなく、
8
8
 
9
9
  ```
10
- let value01 = data01["testValue"]
10
+ let value01: String = data01["testValue"]
11
11
  ```
12
12
 
13
13
  で目的のフィールドが取得できるかと思います。
14
14
 
15
+ ちなみに、ダウンキャストなどはうまくいかないので、受け取る側のプロパティに明示的に型を与え、型推論が行えるようにする必要もあるみたいです(詳しい原因は追っていません)。
15
16
 
17
+
16
18
  サンプルコードは一部古いままになっているようです。
17
19
 
18
20
  下記のオンラインドキュメントが一番最新だと思います(一部更新が追いついていないようで、Objcのドキュメントも併用しなければいけない状態ですが)。