2016-06-12 159 views
0

我正在检查用户名是否已被占用。Firebase查询不起作用

我的数据库看起来像这样: enter image description here

这是我尝试使用查询:

var returning = true 
     print("test101") 

     ref.child("users") 
      .queryOrderedByChild("name") 
      .observeEventType(.ChildAdded, withBlock: { snapshot in 

       print("test102") 
       if let nname = snapshot.value!["name"] as? String{ 
        if self.nicknameTextField.text! == nname{ 
         returning = false 
        } 
        print(returning) 

       } 
      }) 

我的问题是,编译器不进入嵌套函数和我不不明白为什么? 控制台打印 “test101”,而不是 “test102”

+2

听起来像是一个权限问题。尝试设置'FIRDatabase.setLoggingEnabled(true)'并确定它说的是什么 – Chris

+0

Good call @Chris。如果是这种情况,请查看[关于阅读数据的页面]上的第一个蓝色框(https://firebase.google.com/docs/database/ios/retrieve-data)。 –

回答

0

不要忘记:

为了从数据库中读取或写入数据,你需要FIRDatabaseReference的一个实例:

var ref: DatabaseReference! 
ref = Database.database().reference() 
+0

当然我有这样的说法。这不是我的问题 –