Итак, я пытаюсь зарегистрировать пользователя в Firebase, но не могу, потому что я получаю «Значение типа AuthDataResult» не имеет члена «uid» в нижней части кода, где написано FUser (_objectId: firUser! .User.uid ...
, когда я добавляю firUser! .user.uid, он все еще не работает и выдает ошибку «Невозможно вызвать инициализатор для типа« FUser »со списком аргументов типа», однако функцияавтоматическое заполнение, поэтому я не знаю, почему это происходит
class func currentId() -> String {
//an acces to the firebase authentciationa and//this is the user UId or the user id that is saved to our current user
return Auth.auth().currentUser!.uid
}
class func currentUser() -> FUser? {
//if if we have a current user
//againNSdictionary is the same dicturionary but from objective c
if Auth.auth().currentUser != nil {
if let dictionary = UserDefaults.standard.object(forKey: kCURRENTUSER){
return FUser.init(_dictionary: dictionary as! NSDictionary)
}
}
return nil
}
// now to register the user
class func registerUserWith(email: String, password: String, firstName: String, lastNmae: String, completion: @escaping (_ error: Error?) -> Void){
//when firebase finishes it will give us these two varaibles
Auth.auth().createUser(withEmail: email, password: password) { (firUser, error) in
if error != nil {
completion(error)
//so it doesnt run the rest of the code
return
}
let fUser = FUser(_objectId: firUser!.user.uid, _pushId: "", _createdAt: Date(), _upDatedAt: Date(), _firstName: firstName, _lastName: lastNmae, _avatar: "", _phoneNumer: "")