Неизвестный атрибут 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
}
Кто-нибудь может помочь? Спасибо много