如何检查数据库是否为空swift 3 - Firebase
问题描述:
我试图创建if语句来检查Firebase中的数据库是否为空或者尚未创建它。任何想法如何检查?当我按下一个按钮时,该应用程序可以工作,我保存的所有数据都会上传到数据库,然后按下数据库为空的按钮。如何检查数据库是否为空swift 3 - 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")
}
})
我觉得'如果snapshot.exists()'会完成相同的操作,并且我发现它对它的目标稍微更加明确。请注意,此代码将从数据库中下载所有数据以检查它是否为空。没有办法做到这一点通用的检查,但重要的是要意识到这一点。 –
@FrankvanPuffelen当您在firebase中添加值类型侦听器(如'observeEventType')时,快照将返回您所有的子项以及您也可以只检查快照是否存在。感谢您更新我。我会深入挖掘它。 :) 顺便说一句,我喜欢firebase的方式,它为开发者提供了像魅力一样的灵活性。 –