class UserViewModel: ObservableObject {
@Published var user: User?
@Published var isLogOut: Bool
init() {
fetchCurrentUser() // 'self' used in method call 'fetchCurrentUser' before all stored properties are initialized
isLogOut = FirebaseManager.shared.auth.currentUser?.uid == nil
}
func fetchCurrentUser() {
guard let uid = FirebaseManager.shared.auth.currentUser?.uid else { return }
FirebaseManager.shared.firestore.collection("users").document(uid).getDocument { snapshot, err in
guard let data = snapshot?.data() else {return}
self.user = User(uid: data["uid"] as? String ?? "", email:data["email"] as? String ?? "", profilePicURL: data["url"] as? URL ?? URL(string: ""))
}
}
我試圖為 init 創建函式以從 firesore 中獲取資料。如果我的用戶變數是可選的,為什么會出現此錯誤?是否有另一種方法可以使用來自 firebase 的資料來初始化用戶?
uj5u.com熱心網友回復:
這也必須是可選的
@Published var isLogOut: Bool?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/531020.html
標籤:Google Cloud Collective 迅速火力基地
