快速找到范围内的“”

问题描述 投票:0回答:1

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

这就是实施

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
    }
}

错误出现在“guard validate()”,它显示“在范围内找不到validate

swift xcode scope func guard
1个回答
0
投票

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

    private func valdiate() -> Bool{

应该是:

    private func validate() -> Bool{
© www.soinside.com 2019 - 2024. All rights reserved.