因此,我正在尝试创建一个带有登录和注册屏幕的应用程序,并创建了一个保护功能来创建和添加一个新帐户,以便稍后登录。
Thi是实现
import FirebaseFirestore
import FirebaseAuth
import Foundation
class RegisterViewViewModel: ObservableObject{
@Published var name = ""
@Published var email = ""
@Published var password = ""
init(){}
func register(){
guard validate() else{
return
}
Auth.auth().createUser(withEmail: email, password: password) { [weak self] result, error in
guard let userId = result?.user.uid else{
return
}
self?.insertUserRecord(id: userId)
}
}
private func insertUserRecord(id: String){
let newUser = User(id: id,
name: name,
email: email,
joined: Date().timeIntervalSince1970)
let db = Firestore.firestore()
db.collection("users")
.document(id)
.setData(newUser.asDictionary())
}
private func valdiate() -> Bool{
guard !name.trimmingCharacters(in: .whitespaces).isEmpty,
!email.trimmingCharacters(in: .whitespaces).isEmpty,
!password.trimmingCharacters(in: .whitespaces).isEmpty else{
return false
}
guard email.contains("@")&&email.contains(".")else{
return false
}
guard password.count>=6 else {
return false
}
return true
}
}
eror位于“guard-validate()”,上面写着“找不到”
验证
在范围内”