如何从 FireBase 访问嵌套的 NSDictionary 数据

How to access nested NSDictionary data from FireBase

我是 运行 一个 Xcode 8 / Swift 3 程序,从 firebase 数据库中提取数据。我正在将 "Brands" 添加到 "Store" 详细信息中。

数据如下:

我可以使用以下代码访问所有 "root" 数据,例如位置和道路。

let storeName = value["StoreName"] as! String
let subThouroughfare = value["subThouroughfare"] as! String
let thouroughfare = value["Thouroughfare"] as! String
let administrativeArea = value["administrativeArea"] as! String

我不确定如何访问嵌入数据,最终会有不止一个 "Brand" 具有 4 个值的键结构如下:

$StoreKey:
    brands:
        $brandKey1:
            Value1: String
            Value2: String
            Value3: String
            Value4: String
        $brandKey2:
            Value1: String
            etc...

到目前为止,我有如下结构设置,我需要从 table 的品牌部分查询品牌:

var ProductList = [storeStruct]()
struct BrandStruct{
    let BrandKey: String
    let BrandName: String
    let Value1: String
    let Value2: String
    let Value3: String
    let Value4: String
}

获取该数据并将其构造成可用数组以便我可以填充 table 的最佳方法是什么?或者我应该继续尝试查询 Firebase 直到我得到可以使用的东西吗?

感谢您的帮助!

首先获取 let brands = value["brands"] as! NSDictionary,与您已经在做的完全平行。现在要求brands.allKeys;那是品牌键的数组。然后,对于每个键,您可以请求 brands[thisKey] as! NSDictionary,您将取回包含键入 "Val1""Val2""Val3" 和 [=16 的四个值的字典=]. (同样,如果这些键的名称和数量可能不同,allKeys 会告诉您它们是什么。)