2017-09-03 40 views
0

可以說我有這樣的我是否需要多個Firebase數據庫引用?

let ref = Database.database().reference() 
let refTwo = Database.database().reference() 

func getPosts() { 
    ref.child("posts").queryOrderedByKey().observeSingleEvent(of: .value, with: { snap in 
    // get some posts 
    }) 
    } 

func getOtherStuff() { 
    refTwo.child("child").queryOrderedByKey().observeSingleEvent(of: .value, with: { snap in 
    // get some other data 
    }) 
    refTwo.removeAllObservers() 
    } 

一些代碼,我稱之爲viewDidLoad()getPosts()getOtherStuff()我需要使用兩個不同的引用或者我可以只使用一個參考我所有的疑問?

我知道如果你有兩個不同的位置使用.observe相同的參考數據只返回一次。所以你不想重新使用那個ref?但是,這裏我只是使用.observeSingleEvent,所以我不確定。另外,如果他們在同一個孩子身上,它會影響嗎?

回答

1

Firebase數據庫引用只是對數據庫中位置的輕量級引用。除非你附加一個監聽器或寫信給他們,否則什麼都不會發生。

在共享的場景中不需要使用單獨的偵聽器。我將刪除對removeAllObservers的呼叫:由於您打電話給observeSingleEvent,觀察者會在第一次啓動後自動刪除。

0
在火力地堡4.4

你只需要使用

var ref = Database.database().reference() 

還可以看到在左側列表中的基本結構「讀取和寫入數據」。

例如:

self.ref.child("users").child(user!.uid).setValue(["mentionName": ""]) 
self.ref.child("users").child(user!.uid).child("email").setValue(self.emailField.text) 

參考:https://firebase.google.com/docs/database/ios/start

相關問題