2017-09-16 97 views
1

我試圖創建if語句來檢查Firebase中的數據庫是否爲空或者尚未創建它。任何想法如何檢查?當我按下一個按鈕時,該應用程序可以工作,我保存的所有數據都會上傳到數據庫,然後按下數據庫爲空的按鈕。如何檢查數據庫是否爲空swift 3 - Firebase

謝謝

回答

10

對於您需要檢查快照孩子算第一,無論是空。

對於 -

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 

    } 
}) 

希望這將幫助你實現你想要的。 :)

+0

我覺得'如果snapshot.exists()'會完成相同的操作,並且我發現它對它的目標稍微更加明確。請注意,此代碼將從數據庫中下載所有數據以檢查它是否爲空。沒有辦法做到這一點通用的檢查,但重要的是要意識到這一點。 –

+0

@FrankvanPuffelen當您在firebase中添加值類型偵聽器(如'observeEventType')時,快照將返回您所有的子項以及您也可以只檢查快照是否存在。感謝您更新我。我會深入挖掘它。 :) 順便說一句,我喜歡firebase的方式,它爲開發者提供了像魅力一樣的靈活性。 –

1

謝謝阿米爾和弗蘭克,我知道了。我必須稍微更新一下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") 
           } 
          })