【发布时间】:2018-07-29 09:09:30
【问题描述】:
我目前的firebase数据库结构是这样的
customer
-L1x2AKUL_KNTKXyza
name:"abc"
subscription
-L1x2AKlvmG0RXv4gL
sub_no: "123"
sub_name: ""
-L1x2AKlvmG0RXv4ab
sub_no: "456"
sub_name" ""
-L1x2AKUL_KNTKXymk
name:"xyz"
subscription
-L1x2AKlvmG0RXv4xy
sub_no: "789"
sub_name: ""
我正在尝试一次访问所有客户记录的所有订阅。
这是我正在使用的代码:
var ref: DatabaseReference!
ref = Database.database().reference(withPath: "customer")
ref.observe(.value, with: { snapshot in
let enumerator = snapshot.children
while let rest = enumerator.nextObject() as? DataSnapshot {
let imageSnap = rest.childSnapshot(forPath: "subscription")
let dict = imageSnap.value as! NSDictionary
//self.vehicleListDict.append(dict.object(forKey: "sub_no") as! NSDictionary)
print("value : \(dict)")
}
print("vehicleListDict : \(self.vehicleListDict)")
}) { (error) in
print(error.localizedDescription)
}
我无法一次访问所有客户记录中的所有订阅。它只能访问到一个级别。我试图在存在的 while 中放置一个 while 循环,但这也没有给我所需的输出。相反,它进入无限循环。请任何人都可以帮忙。我是第一次使用 firebase 实时数据库。
获取的值应该是
123
456
789
【问题讨论】:
-
你的要求没有意义。
-
我需要一个所有订阅的列表..并且它们与每个客户的详细信息一起存储..所以需要这样遍历它
-
这些功能应该是我谷歌云功能完成的。
-
这很容易做到。但是,您能否解释一下您为什么需要这些数据(即用例是什么 - 为什么您希望一次为所有客户提供所有订阅),因为它可能需要 Firebase 结构的重新工具才能真正获取数据出你想要的。
-
@Jay 有一个下拉菜单,其中需要显示所有订阅。我无法更改 Firebase 结构。必须从当前结构本身获取。你能帮忙吗..我还在努力解决这个问题
标签: ios swift firebase swift3 firebase-realtime-database