【发布时间】:2017-07-20 05:03:56
【问题描述】:
我正在开发一个需要 Firebase 身份验证和数据库的应用。注册时,应用程序必须检查输入的代码是否真实,然后继续创建用户。这是我的代码:
ref = FIRDatabase.database().reference()
self.ref.child("PatientCodes").observeSingleEvent(of: .value, with: { (snaphshot) in
print("In")
let value = snaphshot.value as! NSArray
if value.contains(self.patientIDTextField.text!) {
print("Found ID")
FIRAuth.auth()?.createUser(withEmail: self.emailTextField.text!, password: self.passwordTextField.text!, completion: { (user, error) in
if user != nil {
self.performSegue(withIdentifier: "registered", sender: self)
}
})
}
我遇到的问题是,没有代码在self.ref.child 等之后执行。print("In") 语句永远不会被命中。
非常感谢任何帮助。提前致谢。
【问题讨论】:
-
显示运行上述查询的 Firebase JSON 结构。
-
我不能显示那个数据,它对客户是保密的,但是,父母是“PatientCodes”,孩子们列在下面。
-
@EvanRey 请研究MCVE,它解释了最小化重现问题的必要性和价值。
-
干杯 @EvanRey 但这对我来说不是问题。我的问题是在向数据库发出请求之前我没有登录。我以为我已通过身份验证,因为
currentUser.id存在,但它是从我之前登录时缓存的。 -
@MacLean 如果没有当前用户,只需致电
FIRAuth.auth()?.signIn()再次登录
标签: ios iphone swift firebase-realtime-database