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

时间:2016-10-16 19:13:37

标签: arrays swift firebase firebase-realtime-database nsdictionary

我正在运行一个从firebase数据库中提取数据的Xcode 8 / Swift 3程序。我将“品牌”添加到“商店”细节中。

以下是数据的样子:

NSDictionary Screenshot

我可以使用以下代码访问所有“根”数据,例如地点和通道。

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...

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

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

获取该数据并将其构建为可用数组的最佳方法是什么,以便填写表格?或者我应该继续尝试查询Firebase,直到我得到一些我可以使用的内容?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

首先提取brands.allKeys,与您已经完成的工作完全平行。现在问brands[thisKey] as! NSDictionary;这是一系列品牌钥匙。对于每个密钥,您可以要求"Val1",然后您将返回包含"Val2""Val3""Val4"和{allKeys上的四个值的字典。 {1}}。 (同样,如果这些密钥的名称和数量可能不同,bgpic()会告诉您它们的含义。)