Firestore内にあるデータを各セル内に表示したい
お世話になります。Swift/Firebase初学者です。
現在食品検索iOSアプリを開発しています。
Firestoreにデータを前もって入れ、CollectionViewの各セルで食品の名前を表示しようとしています。
発生している問題
FireStoreからデータを引っ張ってはこれているのですが、コレクション(items)内に2つのデータがあるにもかかわらず、そのひとつだけがcell内で繰り返し表示される状態になっています。
公式ドキュメント類を見てもどこが間違っているのか分からず…。
どのようにすれば各データの名前を各セルで表示ができるのか、どなたかアドバイスをいただけないでしょうか。
質問内容に漏れなどありましたら、そちらもご指摘いただけますと大変助かります。
よろしくお願いいたします。
該当のソースコード
Swift
1 // CollectionViewController.swift 2 3 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 4 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! CollectionViewCell2 5 6 let db = Firestore.firestore() 7 8 db.collection("items").getDocuments() { (querySnapshot, err) in 9 if let err = err { 10 // エラー時の処理 11 print("Error getting documents: (err)") 12 } else { 13 // エラーがないときの処理 14 for document in querySnapshot!.documents { 15 if let name = document.data()["name"] as? String{ 16 cell.label1.text = name 17 } 18 } 19 } 20 }
Swift
1import UIKit 2import Firebase 3import FirebaseDatabase 4import FirebaseFirestore 5 6class CollectionViewCell2: UICollectionViewCell { 7 8 @IBOutlet weak var label1: UILabel! 9 @IBOutlet weak var btn1: UIButton! 10 11 required init?(coder aDecoder: NSCoder) { 12 super.init(coder: aDecoder) 13 } 14}
試したこと
下記公式ドキュメントを参考に書き換え
https://codelabs.developers.google.com/codelabs/firestore-ios/#0
https://firebase.google.com/docs/firestore/quickstart?hl=ja#read_data
https://firebase.google.com/docs/firestore/query-data/get-data?hl=ja
補足情報
Swift version 5.0.1
Xcode version 10.2.1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/11 05:48