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

回答編集履歴

2

クロージャの書式を追加

2020/09/01 04:04

投稿

TsukubaDepot
TsukubaDepot

スコア5086

answer CHANGED
@@ -90,4 +90,18 @@
90
90
  print(self.aNumber)
91
91
  }
92
92
  }
93
+ ```
94
+
95
+ ##2020年9月1日追記
96
+
97
+ 1引数のクロージャには、下記のように他にもいくつかの書き方がありますので、わかりやすい方法を使っていただければと思います。
98
+
99
+ ```Swift
100
+ getDocuments { data in
101
+ print(data)
102
+ }
103
+
104
+ getDocuments(completion: { data in
105
+ print(data)
106
+ })
93
107
  ```

1

末尾に反映させた場合のコードを追記。

2020/09/01 04:03

投稿

TsukubaDepot
TsukubaDepot

スコア5086

answer CHANGED
@@ -57,4 +57,37 @@
57
57
  print(data)
58
58
  }
59
59
 
60
+ ```
61
+
62
+ 詳細が分からないので間違っている可能性もありますが、実際のコードに反映させるならこのような感じとなります。
63
+
64
+ ```Swift
65
+ func getDocuments(completion: @escaping (Int) -> () ){
66
+ let db = Firestore.firestore()
67
+ db.collection("aaa").document("bbb").collection("ccc").getDocuments() { (querySnapshot, err) in
68
+ if let err = err {
69
+ print("Error getting documents: (err)")
70
+ } else {
71
+ for document in querySnapshot!.documents {
72
+ if let count = querySnapshot?.documents.count {
73
+ DispatchQueue.main.async {
74
+ completion(count)
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
81
+
82
+ ...
83
+
84
+ override func viewDidLoad() {
85
+ super.viewDidLoad()
86
+
87
+ getDocuments() { count in
88
+ self.aNumber = Double(count)
89
+ self.amountNumber.text = "(count)" // 20
90
+ print(self.aNumber)
91
+ }
92
+ }
60
93
  ```