2017-09-03 33 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

相关问题