使用swift 3如何从firebase中检索另一个数据中的数据[关闭]

Posted

技术标签:

【中文标题】使用swift 3如何从firebase中检索另一个数据中的数据[关闭]【英文标题】:using swift 3 how to retrive data inside another data from firebase [closed] 【发布时间】:2017-05-26 13:40:21 【问题描述】:

我正在尝试获取特定数据中的数据,例如“min”内的 age_range 中等于 21 虽然 'total' 里面的 'summary' 是里面的朋友。 我只成功获取了姓名和性别等正常数据.... 你的帮助将是非常可观的

【问题讨论】:

那么,您的问题是什么?如何从朋友/摘要/总计中获取数据?还是什么? 是的,我正在尝试获取数据中的数据并将其保存为字典 请以文本形式发布 Firebase 结构,不要使用图片。图像不可搜索,如果我们需要使用答案中的结构,我们必须重新输入它。您可以从 Firebase 控制台获取您的 Firebase 结构 -> 右侧三点 -> 导出 JSON。 您是否有任何理由不想只观察父节点(它会引入所有子数据)并从那里获取您需要的信息?这是一种“一呼百应”的事情,虽然它确实提取了更多数据,但它还允许您访问节点内的所有内容,而无需多次 Firebase 调用。 【参考方案1】:

如果我正确理解您的问题,您想从孩子的孩子那里检索数据。

ref?.child("users").child(uid).child("youCanAddAsManyOfTheseAsYouWishToAccessChildrenOfChildren").observeSingleEvent(of: .value, with:  (snapshot) in
      //you can either access children in the line above or by:
      snapshot.childSnapshot(forPath: "childName").value
)

如果这不是您问题的答案,请在下方评论。

编辑:这是给你的一个确切的例子。

ref?.child("users").child(uid).child("FB result").child("age_range").child("min").observeSingleEvent(of: .value, with:  (snapshot) in
      //you can either access children in the line above or by:
      print(snapshot.value)
)

【讨论】:

几乎是我的答案,但到目前为止我还没有成功......请帮助我获取如何替换它的示例:“youCanAddAsManyOfTheseAsYouWishToAccessChildrenOfChildren”如果我想获得 21 的值! @OTAMD 我编辑了我的回复 @OTAMD 您还可以使用ref.child("users/uid/FB result/age_range/min") 通过路径访问子级。您可能会发现 this 的答案有助于理解 Firebase 的结构。【参考方案2】:

Swift 3 和 Xcode 8.3.2

希望这段代码能解决你的问题

    // Create constant of baseURL (Make your life easier)
    let baseURl = Database.database().reference()

    // create reference that u want to fetch
    let refToFetch = baseURl.child("users").child("uid").child("FB result").child("age_range")

    // fetch the value
    refToFetch.observeSingleEvent(of: .value, with:  (snapshot) in
        // do something with value for key "min"
        print(snapshot.value(forKey: "min") ?? "no value")
        if let value: Int = snapshot.value(forKey: "min") as? Int 
            // You got the value
            print("value of min is: \(value)")
        
    )  (error) in
        print(error, "Failed to fetch value")
    

【讨论】:

什么错误?给我看看你的控制台,我可以帮你解决这个问题 @OT AMD 我编辑了我的答案,所以对你来说会更清楚......如果我的答案对你有用,请投票,谢谢你

以上是关于使用swift 3如何从firebase中检索另一个数据中的数据[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从 Firebase 检索和读取数据作为 NSArray (Swift 3)

从firebase检索到swift 3中的多个按钮

从firebase实时数据库IOS Swift中检索数据

如何从firebase数据库中检索url并通过UIButton(SWIFT)显示url?

Swift - 如何从 Firebase 检索多个值并将它们显示在 UITABLEVIEW

从 Firebase 检索数据等于意外 nil - swift