前提・実現したいこと
初投稿失礼いたします。
firebaseのドキュメント内に保存されている数値を取り出し配列に入れたいのですが、いまいちうまくいきません。
複数のドキュメントの中に”h1”という共通の名前で保存された数値を取得したいです。配列にしたい理由としては平均値などを求めたいからです。
ドキュメントの中身全てをNumdetailというclassを用意してそこに入れました。そこからtableviewにそれぞれの情報を反映させています。このNumdetailを利用してh1を取得して配列に入れようとしたのですが、ドキュメント1、ドキュメント2、ドキュメント3、、、、それぞれ別々になってしまいます。printをしてみると[1],[3],[8]といったように別の配列として出力されてしまいます。これを全て一つにまとまった配列としたいです。
swift
1 2 private func memberidtail(){ 3 let name: String = userDefaults.string(forKey: "name")! 4 Firestore.firestore().collection("goods").document(uni).collection("fruits").document(receiveddata).collection("new").getDocuments{(snapshots, err) in 5 if err != nil{ 6 return 7 } 8 9 self.numdetails = [] 10 snapshots?.documents.forEach{snapshots in 11 let dc = snapshots.data() 12 let numdetail = Numdetail(dic : dic) 13 self.numdetails.append(numdetail) 14 15 let arr:[Int] = [numdetail.hy1] 16 print(arr) 17 // ここの実行結果が別々に[1],[3],[8]となってしまう。理想としては[1,3,8] 18 } 19 self.testtable.reloadData() 20 self.numdetails.forEach {(numdetail) in 21 22 } 23 self.details.forEach {(detail) in 24 } 25 } 26 } 27
上記のような方法を試したのですがうまくいきません。どのように改善すべきか教えていただけると助かります。
あなたの回答
tips
プレビュー