回答編集履歴

2

クロージャの書式を追加

2020/09/01 04:04

投稿

TsukubaDepot
TsukubaDepot

スコア5086

test CHANGED
@@ -183,3 +183,31 @@
183
183
  }
184
184
 
185
185
  ```
186
+
187
+
188
+
189
+ ##2020年9月1日追記
190
+
191
+
192
+
193
+ 1引数のクロージャには、下記のように他にもいくつかの書き方がありますので、わかりやすい方法を使っていただければと思います。
194
+
195
+
196
+
197
+ ```Swift
198
+
199
+ getDocuments { data in
200
+
201
+ print(data)
202
+
203
+ }
204
+
205
+
206
+
207
+ getDocuments(completion: { data in
208
+
209
+ print(data)
210
+
211
+ })
212
+
213
+ ```

1

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

2020/09/01 04:03

投稿

TsukubaDepot
TsukubaDepot

スコア5086

test CHANGED
@@ -117,3 +117,69 @@
117
117
 
118
118
 
119
119
  ```
120
+
121
+
122
+
123
+ 詳細が分からないので間違っている可能性もありますが、実際のコードに反映させるならこのような感じとなります。
124
+
125
+
126
+
127
+ ```Swift
128
+
129
+ func getDocuments(completion: @escaping (Int) -> () ){
130
+
131
+ let db = Firestore.firestore()
132
+
133
+ db.collection("aaa").document("bbb").collection("ccc").getDocuments() { (querySnapshot, err) in
134
+
135
+ if let err = err {
136
+
137
+ print("Error getting documents: (err)")
138
+
139
+ } else {
140
+
141
+ for document in querySnapshot!.documents {
142
+
143
+ if let count = querySnapshot?.documents.count {
144
+
145
+ DispatchQueue.main.async {
146
+
147
+ completion(count)
148
+
149
+ }
150
+
151
+ }
152
+
153
+ }
154
+
155
+ }
156
+
157
+ }
158
+
159
+ }
160
+
161
+
162
+
163
+ ...
164
+
165
+
166
+
167
+ override func viewDidLoad() {
168
+
169
+ super.viewDidLoad()
170
+
171
+
172
+
173
+ getDocuments() { count in
174
+
175
+ self.aNumber = Double(count)
176
+
177
+ self.amountNumber.text = "(count)" // 20
178
+
179
+ print(self.aNumber)
180
+
181
+ }
182
+
183
+ }
184
+
185
+ ```