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

回答編集履歴

3

unwrapいらんかった‥

2018/10/31 06:37

投稿

fuzzball
fuzzball

スコア16733

answer CHANGED
@@ -12,7 +12,7 @@
12
12
  let keys = ["name", "id"]
13
13
  let mirror = Mirror(reflecting: user)
14
14
  keys.forEach { key in
15
- if let child = mirror.children.first(where: {$0.label ?? "" == key}) {
15
+ if let child = mirror.children.first(where: {$0.label == key}) {
16
16
  print("(key) = (child.value)")
17
17
  }
18
18
  }

2

mirror

2018/10/31 06:37

投稿

fuzzball
fuzzball

スコア16733

answer CHANGED
@@ -1,3 +1,30 @@
1
+ # Mirror
2
+
3
+ 調べながら書いたので変なところがあるかも知れませんが。
4
+
5
+ ```swift
6
+ class User {
7
+ var id: Int = 123
8
+ var name: String = "hogehoge"
9
+ }
10
+
11
+ let user = User()
12
+ let keys = ["name", "id"]
13
+ let mirror = Mirror(reflecting: user)
14
+ keys.forEach { key in
15
+ if let child = mirror.children.first(where: {$0.label ?? "" == key}) {
16
+ print("(key) = (child.value)")
17
+ }
18
+ }
19
+ ```
20
+
21
+ ```text
22
+ name = hogehoge
23
+ id = 123
24
+ ```
25
+
26
+ # Dictionary
27
+
1
28
  Dictionaryでいいんじゃないですかね。
2
29
 
3
30
  ```swift

1

typo

2018/10/31 06:32

投稿

fuzzball
fuzzball

スコア16733

answer CHANGED
@@ -1,4 +1,4 @@
1
- Dictonaryでいいんじゃないですかね。
1
+ Dictionaryでいいんじゃないですかね。
2
2
 
3
3
  ```swift
4
4
  let user: [String:Any] = ["id": 1, "name": "ユーザー"]