【问题标题】:Firebase: observeEventType() only returns one childFirebase:observeEventType() 只返回一个孩子
【发布时间】:2016-06-17 04:57:31
【问题描述】:

我正在尝试从https://sizzling-heat-9137.firebaseio.com/users 获取孩子,它有 4 个。这就是我正在做的事情:

  let ref = Firebase(url:"https://sizzling-heat-9137.firebaseio.com/users")

  ref.observeEventType(.ChildAdded, withBlock: {
  (snapshot) in
  print("Snapshot: \(snapshot)")
  })

根据 Firebase 上的指南,这应该提供每个孩子 (4) 及其数据的快照,但相反,我只获得一个孩子的快照,称之为 X(第一个在/users 处添加但不是第一个)。

当我做snapshot.childrenCount我得到7,这是第一个孩子X中的孩子数。 /users 的孩子总数不应该是四个吗?

我在这里做错了什么或者可能是什么问题?我在模拟器和真机上都试过了。

【问题讨论】:

  • 你检查了 snapshot.value 吗?
  • @AnjaliBhimani 是的,这给了我 7 个孩子 X 中所有孩子的相同快照

标签: ios swift firebase


【解决方案1】:

我认为您必须将您的 observeEventTypeChildAdded 更改为 FIRDataEventType.Value

然后您可以将您的快照用作字典(例如):

tempUser.firstName = snapshot.value!["firstname"] as! String

【讨论】:

  • 我看到我出于某种原因将权限规则设置为非读,这就是问题所在。还是谢谢!
【解决方案2】:

它会在指定的 url 上给出孩子的数量。只需检查你的 url 是否指向那个或节点的基础。

【讨论】:

  • 这不是答案。请获得代表并作为评论重新发布。
  • 我看到我出于某种原因将权限规则设置为非读,这就是问题所在。还是谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多