0
我的问题是下面的,当我登录的用户和数据插入到数据库中一切正常,但是当我再次关闭部分和启动部分数据,而不必插入任何一倍。这是什么原因?火力地堡被加倍数据
登录其实现方法具
@IBAction func loginButton(_ sender: Any) {
if validar() {
try! FIRAuth.auth()!.signOut()
FIRAuth.auth()?.signIn(withEmail: emailTextField.text!, password: passwordTextField.text!, completion: { (user, error) in
if user != nil {
self.performSegue(withIdentifier: "loginToPasswordBag", sender: self)
} else {
self.emailTextField.shake()
self.passwordTextField.shake()
}
})
}
}
保存数据的方法
@IBAction func addPassword(_ sender: Any) {
FIRAuth.auth()?.addStateDidChangeListener({ (auth, user) in
if let user = user {
var password = [String:String]()
password["password"] = self.passwordTextField.text!
password["name"] = self.namePasswordTextField.text!
password["uid"] = user.uid
self.rootRef.child("passwords").childByAutoId().setValue(password)
}
})
}
当我再次登录的最后一个插入的对象在数据库中
我不知道我的理解。但是,当您重新启动应用程序时,会出现'addStateDidChangeListener'触发的行为。它也可能会在应用程序运行时定期触发。所以,你不应该依赖于逻辑'当你调用'signInWithEmail' addStateDidChangeListener'才会触发。 –
喔,我认为你是对的,我想,如果一个视图改变,处理程序将不再火灾 – luistejadaa