代码之家  ›  专栏  ›  技术社区  ›  Max Kortge

检索数据Firebase Swift 3

  •  1
  • Max Kortge  · 技术社区  · 7 年前

    @IBAction func SignIn(_ sender: Any) {
        FIRAuth.auth()?.signIn(withEmail: EmailTextField.text!, password: PasswordTextField.text!, completion: {
            (user, error) in
            if error == nil {
                print("no error")
                if let user = FIRAuth.auth()?.currentUser {
                    print("no error")
                    //if user.isEmailVerified == true {
                        let ref = FIRDatabase.database().reference()
                        let userID = FIRAuth.auth()?.currentUser?.uid
                        ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { snapshot in
                            print("no error")
                            let snapDict = snapshot.value as? NSDictionary
                            let type = snapDict?["type"] as? String ?? ""
                            print(type)
                    })
                    //} else {
                        //error email isnt verified
                    //}
                }
            } else {
                print(" error")
                if let errCode = FIRAuthErrorCode(rawValue: error!._code) {
                    switch errCode {
                    case .errorCodeInvalidEmail: break
                        //invalid email
                    case .errorCodeUserNotFound: break
                        //user doesnt exist
                    case .errorCodeWrongPassword: break
                        //incorrect password
                    default: break
                        //error occured
                    }
                }
            }
        })
    }
    

    打印(打字)永远不会被打印出来,但其他一切都会被打印出来。我不知道为什么会这样。

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  2
  •   Pipiks    7 年前

    可选(“您的_键”) 您的_密钥 .

    let user = Auth.auth().currentUser
    
    if let user = user {
        let userId = user.uid;
    
        // Use the userId
    }