回答編集履歴
2
クロージャの書式を追加
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
末尾に反映させた場合のコードを追記。
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
|
```
|