Как передать Class в View правильно?
Имеется файл FirebaseManager.swift, в нем собираются данные на пользователя из БД Firebase
import Foundation
import Firebase
class FirestoreManager: ObservableObject {
@Published var firstName: String = ""
@Published var secondName: String = ""
@Published var userEmail: String = ""
@Published var userType: String = ""
@Published var userID: String = ""
func fetchUserData() {
let user = Auth.auth().currentUser
if let user = user {
self.userID = user.uid
}
let db = Firestore.firestore()
let docRef = db.collection("users").document(userID)
docRef.getDocument { (document, error) in
guard error == nil else {
print("error to fetch user data")
return
}
if let document = document, document.exists {
let data = document.data()
if let data = data {
print("data", data)
self.firstName = data["UserName"] as? String ?? ""
self.secondName = data["UserSecondName"] as? String ?? ""
self.userEmail = data["UserEmail"] as? String ?? ""
self.userType = data["UserType"] as? String ?? ""
}
}
}
}
init() {
fetchUserData()
}
}
Мне нужно его передать данный класс в MainPageView
import SwiftUI
import Firebase
@main
struct NewLoginApp: App {
let persistenceController = PersistenceController.shared
@StateObject var firestoreManager = FirestoreManager()
init() {
FirebaseApp.configure()
}
var body: some Scene {
WindowGroup {
LoginView()
.environment(\.managedObjectContext, persistenceController.container.viewContext)
MainPageView(showProfileView: .constant(false), showToggleLogin: .constant(true))
.environmentObject(firestoreManager)
}
}
}
Но когда я его передаю и компилирую все это на устройство iOS экран делится на 2 с изображением от LoginView и MainPageView
Подскажите пожалуйста как это правильно оформить, спасибо!