我有UItextField
名为addUserField
的用户可以在用户点击输入后输入电子邮件我正在检查我的Firebase数据库中是否存在该电子邮件,如果是,则必须打印&# 34; OK" \ email,如果没有,那么它应该打印" BAD" \ email。但是我的下面的代码没有按照预期的方式执行,它以某种方式执行if条件两次而且我无法找出原因。
因此,如果正在打印的数据库中存在电子邮件:
OK xyz@abc.com
BAD xyz@abc.com
如果正在打印的数据库中不存在该电子邮件:
BAD abc@xyz.com
BAD abc@xyz.com
任何人都可以帮我弄清楚if语句执行两次的原因以及我如何才能使它只在电子邮件存在时打印OK或者如果不存在则打印。
func textFieldShouldReturn(_textField: UITextField!) -> Bool {
var email: String = ""
if let userEmail = addUserField.text{
email = userEmail
}
let userRef = ref.child("users");
userRef.queryOrderedByChild("role").queryEqualToValue("User").observeEventType(.Value, withBlock: {
snapshot in
for child in snapshot.children {
let username = child.value["email"] as! String
if (email == username){
print ("OK \(email)")
}
else {
print ("BAD \(email)")
}
}
})
return true
}