代码之家  ›  专栏  ›  技术社区  ›  Pop Gabriel-Razvan

Swift unabel在作用域[已关闭]中查找“”

  •  -2
  • Pop Gabriel-Razvan  · 技术社区  · 2 年前

    因此,我正在尝试创建一个带有登录和注册屏幕的应用程序,并创建了一个保护功能来创建和添加一个新帐户,以便稍后登录。

    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()”,上面写着“找不到” 验证 在范围内”

    1 回复  |  直到 2 年前
        1
  •  0
  •   zdtorok    2 年前

    您的函数声明中有一个拼写错误:

        private func valdiate() -> Bool{
    

    应该是:

        private func validate() -> Bool{