SwiftUI с Firebase с использованием Xcode 11 GM seed 2 - Файловый магазин Swift UI - PullRequest
0 голосов
/ 21 сентября 2019

Я следовал этому https://www.youtube.com/watch?v=_N10q1iR2HQ&t=328s учебнику;однако, с поправкой на некоторые изменения, внесенные в Xcode 11 GM seed 2 синтаксис и термины, потому что некоторые вещи устарели.Сборка прошла успешно, но по какой-то причине вылетает.

Буду признателен за любую помощь и предложения, перепробовал все пробные версии и ошибки, о которых мог подумать.

Вот код ниже (вставка всего этого, так как в GM seed 2 было много изменений команд):

import SwiftUI
import Combine
import FirebaseFirestore
struct dataset : Identifiable {
var id = ""
var name = ""
var phone = ""
var services = ""
}
class getData : ObservableObject {

var didChange = PassthroughSubject<getData, Never>()

var data = [dataset](){

    didSet{
        didChange.send(self)
    }
}

init(){
    let db = Firestore.firestore()
    let settings = db.settings
    settings.areTimestampsInSnapshotsEnabled = true
    db.settings = settings
    db.collection("venues").addSnapshotListener {(snap,err) in
        if err != nil{
            print((err?.localizedDescription)!)
            return
        }
        for i in (snap?.documentChanges)!{

            let name = i.document.data()["name"] as! String
            let phone = i.document.data()["phone"] as! String
            let services = i.document.data()["services"] as! String
            let id = i.document.documentID

            DispatchQueue.main.async {
                self.data.append(dataset(id: id, name: name, phone: phone, services:services))
            }
        }
    }
}
}
struct ContentView: View {

@ObservedObject var data1 = getData()

var body: some View {
    VStack {
        Text("Hello World")
        List(data1.data){ i in
            cellView(name: i.name, phone: i.phone, services: i.services)
        }
    }
}
}
struct cellView : View {
@State var name = ""
@State var phone = ""
@State var services = ""

var body : some View{
    VStack{
        Text(name)
        Text(phone)
        Text(services)
    }
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
    ContentView()
}
}

Это результаты

2019-09-19 20: 30: 34.724594 + 0600 Место проведения [16661: 712640] - [I-ACS036002] Отчетность экрана аналитикивключен.Вызовите + [FIRAnalytics setScreenName: setScreenClass:], чтобы установить имя экрана или переопределить имя класса экрана по умолчанию.Чтобы отключить экранную отчетность, установите для флага FirebaseScreenReportingEnabled значение NO (логическое значение) в Info.plist

2019-09-19 20: 30: 34.975422 + 0600 Место проведения [16661: 712648] 5.12.0 - [Firebase /Аналитика] [I-ACS023007] Аналитика v.50300000 запущена

2019-09-19 20: 30: 34.975634 + 0600 Место проведения [16661: 712648] 5.12.0 - [Firebase / Analytics] [I-ACS023008]Чтобы включить ведение журнала отладки, установите следующий аргумент приложения: -FIRAnalyticsDebugEnabled Невозможно привести значение типа '__NSCFNumber' (0x10b8a8610) к 'NSString' (0x10954f978).

2019-09-19 20: 30: 35.073897 + 0600Место проведения [16661: 711704] Не удалось привести значение типа '__NSCFNumber' (0x10b8a8610) к 'NSString' (0x10954f978).(lldb)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...