Good day,
I’am studying swiftUI since this week however at this level I’am severely disillusioned. I have been making an attempt to repair this situation since +4hrs, however I do not get it…
Perhaps you guys will assist me..
▶︎ HomePageView.swift:63:37 Lacking argument for parameter ‘forUser’ in name
▶︎ HomePageView.swift:375:22 Lacking argument for parameter ‘dataManager’ in name
▶︎ LoginPageView.swift:28:38 Lacking argument for parameter ‘dataManager’ in name
▶︎ LoginPageView.swift:131:26 Worth of sort ‘LoginPageView’ has no member ‘getUserData’
listed here are the code snippets…
LoginPageView.swift
import SwiftUI
import CoreData
import Firebase
struct LoginPageView: View {
@State personal var e-mail: String = ""
@State personal var password: String = ""
@State personal var isAuthenticated = false
@State personal var showAlert = false
@State personal var errorMessage: String = ""
@Atmosphere(.scenePhase) personal var scenePhase // Beobachtet den Lebenszyklus der Szene
@ObservedObject var dataManager = UserDataManager()
var physique: some View {
NavigationView {
ZStack {
Coloration(hex: "f6f1eb").edgesIgnoringSafeArea(.all)
if isAuthenticated {
HomePageView()
} else {
loginForm
}
}
.navigationTitle(isAuthenticated ? "" : "")
.navigationBarHidden(isAuthenticated)
.onChange(of: scenePhase) { newPhase in
if newPhase == .background {
logout()
}
}
.onAppear {
checkAuthentication()
}
}
}
HomePageView.swift
struct HomePageView: View {
@ObservedObject var dataManager: UserDataManager
init(dataManager: UserDataManager) {
self.dataManager = dataManager
}
var physique: some View {
NavigationView {
ZStack {
Coloration(hex: "f6f1eb")
.edgesIgnoringSafeArea(.all)
VStack {
UserProfileView(userRole: dataManager.userRole, userEmail: dataManager.userEmail)
.body(top: 100)
Divider()
SidebarView()
}
}
}
.onAppear {
dataManager.getUserData()
}
.navigationBarTitle("Cut up View")
}
}
struct HomePageView_Previews: PreviewProvider {
static var previews: some View {
HomePageView()
}
}
DataManager.swift
class UserDataManager: ObservableObject {
@Revealed var userRole: String = "Loading..."
@Revealed var userEmail: String = "Loading..."
func getUserData(forUser userId: String) {
let db = Firestore.firestore()
db.assortment("UserRole").doc(userId).getDocument { (doc, error) in
if let doc = doc, doc.exists {
if let knowledge = doc.knowledge() {
if let position = knowledge["Role"] as? String, let e-mail = knowledge["EMailAddress"] as? String {
// Speichern Sie die Benutzerrolle und E-Mail-Adresse in Ihrem UserDataManager
self.userRole = position
self.userEmail = e-mail
}
}
} else {
print("Doc doesn't exist")
}
}
}
}
Thanks upfront to your assist and insights. I respect your help and stay up for your responses.