Неизвестный атрибут SwiftUI Cloud Firestore "Наблюдаемый объект"

Итак, я получаю сообщение об ошибке Неизвестный атрибут ObservableObject рядом с вызовом @ObservableObject var dataSource = DataSource() ниже.

Новая ошибка: AnimatedImage(url: URL(string: data.pic)!)

Неустранимая ошибка: неожиданно обнаружено nil при развертывании необязательного значения

Моя версия Xcode: 11.4.1

Это мой код приложения и обновить. Может ли кто-нибудь помочь? огромное спасибо

import SwiftUI
import Firebase
import SDWebImageSwiftUI

struct ContentView: View {

    var body: some View {

        Home()
    }

}

struct ContentView_Previews: PreviewProvider {

    static var previews: some View {

        ContentView()

    }

}

struct Home : View{

    @ObservedObject var cities = getCitiesData()

    var body: some View {

        VStack{

            /*
            List(cities.datas){i in

                Text(i.name)
             */

            if self.cities.datas.count != 0{

                ScrollView(.vertical, showsIndicators: false){

                    VStack(spacing: 15){

                        ForEach(self.cities.datas){i in

                            CellView(data: i)


                        }
                    }
                }
            }
        }
    }
}

struct CellView : View {

    var data : city

    var body: some View{

        VStack{

            AnimatedImage(url: URL(string: data.pic)!)
                .frame(height: 270)

            HStack{

                VStack(alignment: .leading){
                    Text(data.name)
                        .font(.title)
                        .fontWeight(.heavy)

                    Text(data.price)
                        .fontWeight(.heavy)
                        .font(.body)

                    }

                Spacer()

                Button(action: {

                }) {

                    Image(systemName: "arrow.right")
                        .font(.body)
                        .foregroundColor(.black)
                        .padding(14)
                }
                .background(Color.yellow)
                .clipShape(Circle())
            }
        }.background(Color.white)
        .cornerRadius(20)

    }
}

class getCitiesData: ObservableObject {

    @Published var datas = [city]()

    init() {

        let db = Firestore.firestore()

        db.collection("cities").addSnapshotListener { (snap, err) in

            if err != nil{

                print((err?.localizedDescription)!)

                return

            }
            for i in snap!.documentChanges{

                let id = i.document.documentID
                let name = i.document.get("name") as! String
                let pic = i.document.get("pic") as! String
                let price = i.document.get("price") as! String

                self.datas.append(city(id : id, name: name, pic: pic, price: price))
            }
        }

    }
}

struct city: Identifiable {
    var id : String
    var name : String
    var pic : String
    var price : String

}

Кто-нибудь может помочь? Спасибо много

0 ответов

Другие вопросы по тегам