我正在尝试验证实时数据库中是否存在子节点,因此如果不存在子节点,我们可以编写一个新节点;到目前为止,它还无法正常工作,我对Google的文档也没有留下深刻的印象。
我在这里和其他地方进行搜索,尝试了各种代码建议,但均未成功。
当前形式的代码如下:
guard let authUI = FUIAuth.defaultAuthUI()
else { return }
// 2
authUI.delegate = self
authUI.providers = [FUIFacebookAuth()]
// 3
let authViewController = authUI.authViewController()
present(authViewController,animated: true)
}
用户登录后,我正在使用以下委托:
func authUI(_ authUI: FUIAuth,didSignInWith authDataResult: AuthDataResult?,error: Error?) {
// Check for error
guard error == nil else {
return
}
let userID = Auth.auth().currentUser?.uid
let userEmail = Auth.auth().currentUser?.email
if accessToken.current != nil {
rootRef.child("/users/\(userID)").observeSingleEvent(of: .value,with: { (snapshot) in
if snapshot.exists() {
print("Valid")
} else {
print("Invalid)")
}
})
}
}
}
验证问题出在rootRef.Child上,它跳过了以下if语句并完全退出。
该数据库具有顶级用户,其后是嵌套的用户ID。
有什么建议吗?