【问题标题】:Iterating through children name swift快速迭代孩子的名字
【发布时间】:2020-05-03 14:24:43
【问题描述】:

这是当前的 firebase 结构:

顶部是用户的id,我想进入createdEvents区域,只打印eventTest和eventTest1,因为它们是他们的createdEvents。我该怎么做?

 var ref = Database.database().reference().child("users").child(id!).child("createdEvents")
        ref.observeSingleEvent(of: .value) { snapshot in
            print(snapshot.childrenCount)
            let enumerator = snapshot.children
            while let rest = enumerator.nextObject() as? DataSnapshot {
               print(rest.value)
            }
        }

这是我目前所拥有的,但它一直在打印:

2
Optional({
    F5IRU4QrMvPToJnCA39lhjCGYh82 = F5IRU4QrMvPToJnCA39lhjCGYh82;
    Nge0cDX4lWVWfJROSypLFRLkCPI2 = Nge0cDX4lWVWfJROSypLFRLkCPI2;
})
Optional({
    F5IRU4QrMvPToJnCA39lhjCGYh82 = F5IRU4QrMvPToJnCA39lhjCGYh82;
})

这就是eventTest和eventTest1里面的东西。我该如何解决这个问题?

【问题讨论】:

  • 这里有什么问题?您正在通过 .value 读取 createdEvent 节点,然后遍历 eventTest 和 eventTest1 的子节点并打印它们的子节点。它按预期工作 - 你还想要什么?节点的名称?这将是每个子节点的 snapshot.key。

标签: ios swift firebase firebase-realtime-database swift4


【解决方案1】:

好的,我想通了,感谢 Jay,我所要做的就是打印 rest.key 而不是 rest.value。非常简单的解决方案,对此感到抱歉。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2019-12-03
    • 1970-01-01
    • 2015-09-30
    • 2015-12-12
    • 2013-12-19
    相关资源
    最近更新 更多