Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Firebase搜索孙子孙女_Ios_Swift_Firebase_Firebase Realtime Database - Fatal编程技术网

Ios Firebase搜索孙子孙女

Ios Firebase搜索孙子孙女,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我的数据库如下所示: \myapp\ \users\ \UID\ \username\ 当我尝试检查用户的用户名是否存在时,我使用以下代码: func checkForUsername() { ref = FIRDatabase.database().reference() ref.child("\(FIRAuth.auth()!.currentUser!.uid)").observeSingleEvent(of: .value, with: { (snapshot

我的数据库如下所示:

\myapp\
 \users\
  \UID\
   \username\
当我尝试检查用户的用户名是否存在时,我使用以下代码:

func checkForUsername()
{
    ref = FIRDatabase.database().reference()
    ref.child("\(FIRAuth.auth()!.currentUser!.uid)").observeSingleEvent(of: .value, with: { (snapshot) in
        if snapshot.hasChild("username"){
            print("username exist")
        }else{
            print("username does not exist")
        }
    })
}
但是,它总是返回用户名不存在的打印。。。也许是因为用户名是用户的孙子?我怎样才能解决这个问题


其他小问题:如果我还想检查用户名是否已被其他用户使用,那么这是开始设置的最佳方式吗?

如果您的数据库结构正确,则该引用将不存在。您跳过了
\users
。您是否检查了快照的内容以查看是否有任何内容?您怎么说该引用不存在?我已经说过打印总是返回“用户名不存在”。当我尝试打印(快照)时,在调试描述中看不到任何内容…您的数据结构显示名称位于
myapp\users\UID\username
,但您的引用指向
myapp\UID\username
。您在子路径中遗漏了“users”。请尝试ref.toString查看您构建的实际URL。在浏览器的末尾键入.json,然后查看该路径中有哪些数据。数据将为null,路径可能与您期望的不一样。首先也是最重要的一点,输出FIRAuth.auth().currentUser的值(该值也可能为null,这可能是一个计时问题)。而且,这里没有足够的信息来诊断。请参阅和。@TravisChristian如何更改\myapp\users\UID\username的路径?