回答編集履歴

2

分かりやすいように書き換えた

2017/11/17 03:14

投稿

MasakiHori
MasakiHori

スコア3384

test CHANGED
@@ -1,22 +1,20 @@
1
- エラー分かりにくいのですが、
1
+ このエラー分かりにくいのですが、`Optional`型にも同名の`map`関数があり、そちらが使われています。
2
+
3
+
4
+
5
+ 以下のように`?`を付けてoptional chainにすることで Arrayの方のmapが使われます。
2
6
 
3
7
 
4
8
 
5
9
  ```swift
6
10
 
7
- let area = value?["area"] as? [[String: Any]]
11
+ let area = value?["area"] as? [[String: Any]] // キャストする型を明示
8
12
 
9
- let arreaNameList = area?.map{ $0["name"] as! String }
13
+ let arreaNameList = area?.map{ $0["name"] as! String } // オプショナルチェインに
10
14
 
11
15
  ```
12
16
 
13
-
14
-
15
- `Optional`型にも同名の`map`関数があり、`?`を付けていないのでそちらが選ばれています。
17
+ ----
16
-
17
-
18
-
19
-
20
18
 
21
19
 
22
20
 

1

抜けがあったので修正

2017/11/17 03:14

投稿

MasakiHori
MasakiHori

スコア3384

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ```swift
6
6
 
7
- let area = value?["area"]
7
+ let area = value?["area"] as? [[String: Any]]
8
8
 
9
9
  let arreaNameList = area?.map{ $0["name"] as! String }
10
10