Swift3 如何检查数据库是否为空swift 3-Firebase

Swift3 如何检查数据库是否为空swift 3-Firebase,swift3,firebase-realtime-database,Swift3,Firebase Realtime Database,我正在尝试创建一个if语句,以检查Firebase中的数据库是否为空或尚未创建它。有什么好主意吗?我怎么检查?当我按下按钮时,应用程序工作。在我按下按钮之前,我保存的所有数据都将上载到数据库。数据库为空 谢谢您需要首先检查快照子项计数,无论它是否为空 为此- var ref = Firebase(url: FIREBASE_URL) ref.observeEventType(.Value, withBlock: { (snapshot: FDataSnapshot!) in if(sna

我正在尝试创建一个if语句,以检查Firebase中的数据库是否为空或尚未创建它。有什么好主意吗?我怎么检查?当我按下按钮时,应用程序工作。在我按下按钮之前,我保存的所有数据都将上载到数据库。数据库为空


谢谢

您需要首先检查快照子项计数,无论它是否为空

为此-

var ref = Firebase(url: FIREBASE_URL)
ref.observeEventType(.Value, withBlock: { (snapshot: FDataSnapshot!) in
    if(snapshot.childrenCount > 0){ // It has value already

   }
  else{ // Still Empty 

    // Upload values to firebase

   }
})

希望它能帮助你实现你的目标。:)

为此,您需要首先检查快照子项计数,无论它是否为空

为此-

var ref = Firebase(url: FIREBASE_URL)
ref.observeEventType(.Value, withBlock: { (snapshot: FDataSnapshot!) in
    if(snapshot.childrenCount > 0){ // It has value already

   }
  else{ // Still Empty 

    // Upload values to firebase

   }
})

希望它能帮助你实现你的目标。:)

谢谢你,阿米尔和弗兰克,我知道了。我不得不更新一点Amir代码,但我让它工作了。详情如下

 let ref = Database.database().reference(fromURL: "DATABASE_PATH")
                            ref.observe(.value, with: { (snapshot: DataSnapshot!) in
                                if(snapshot.childrenCount > 0){ // It has value already

                                    print(" value")

                                }
                                else{ // Still Empty 


                                      print("No value")
                                }
                            })

谢谢你,阿米尔和弗兰克,我知道了。我不得不更新一点Amir代码,但我让它工作了。详情如下

 let ref = Database.database().reference(fromURL: "DATABASE_PATH")
                            ref.observe(.value, with: { (snapshot: DataSnapshot!) in
                                if(snapshot.childrenCount > 0){ // It has value already

                                    print(" value")

                                }
                                else{ // Still Empty 


                                      print("No value")
                                }
                            })

我认为
如果snapshot.exists()
也能达到同样的效果,我发现它的目标更加明确。请注意,此代码将从数据库下载所有数据,以检查其是否为空。如果不这样做,就无法执行此常规检查,但必须注意这一点。@FrankvanPuffelen当您在firebase中添加值类型侦听器(如
observeEventType
)时,snapshot将返回其所有子项,您还可以只检查snapshot是否存在。谢谢你告诉我最新情况。我会更深入地研究它。:)顺便说一句,我喜欢firebase为开发者提供灵活性的魅力。我认为
如果snapshot.exists()
也能达到同样的效果,而且我发现它的目标更加明确。请注意,此代码将从数据库下载所有数据,以检查其是否为空。如果不这样做,就无法执行此常规检查,但必须注意这一点。@FrankvanPuffelen当您在firebase中添加值类型侦听器(如
observeEventType
)时,snapshot将返回其所有子项,您还可以只检查snapshot是否存在。谢谢你告诉我最新情况。我会更深入地研究它。:)顺便说一句,我喜欢firebase为开发者提供灵活性的方式。