前提・実現したいこと
二次配列でFireStoreからデータを取得したのですが、Viewに表示されません。
二次配列ではなく一次配列にしたら取得できたので、二次配列として保存するときに、うまく保存できていないのかもしれません。
ただ、原因が分からないので、分かる方は、すいませんがどうかご教示ください。
発生している問題・エラーメッセージ
エラーは出ないが表示されない
該当のソースコード
SwiftUI
1 2//FireStoreからデータを取得するObserver 3class Observer: ObservableObject{ 4 @Published var photo = [[PhotoEntity]]() 5 6 init() { 7 let db = Firestore.firestore() 8 db.collection("Theme").whereField("status", isEqualTo: "open").addSnapshotListener{(snap, error) in 9 if error != nil { 10 print("(String(describing: error?.localizedDescription))") 11 } 12 13 for i in snap!.documentChanges { 14 15 db.collection("Theme").document(i.document.documentID).collection("Photos").addSnapshotListener{(snap, error) in 16 if error != nil { 17 print("(String(describing: error?.localizedDescription))") 18 } 19 var photoList = [PhotoEntity]() 20 21 for p in snap!.documentChanges { 22 let id = p.document.documentID 23 let title = p.document.get("title") as? String ?? "" 24 ... 25 26 photoList.append(PhotoEntity(id: id, title: title, ...)) 27 } 28 self.photo.append(photoList) 29 } 30 31 } 32 } 33 } 34} 35 36 37//データを表示するView 38struct FiveReviewView: View { 39 @ObservedObject var observed = Observer() 40 @State var count = 0 41 @Binding var show: Bool 42 var body: some View { 43 ForEach(0..<observed.photo.count){num in 44 ForEach(self.observed.photo[num]){ photo in 45 Text(photo.id) 46 } 47 } 48 } 49} 50 51
あなたの回答
tips
プレビュー