Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何为本案例构建firebase数据库?_Swift_Firebase - Fatal编程技术网

Swift 如何为本案例构建firebase数据库?

Swift 如何为本案例构建firebase数据库?,swift,firebase,Swift,Firebase,基本上,我想在UITableView中显示每个烟草和所有可用的水烟,这取决于是否按下了烟草部分或水烟部分。首先你应该看到品牌,然后是“产品”(像所有的烟草或水烟)。 那么现在,firebase数据库到底应该是什么样子呢?因为每种产品(水烟、烟草)都应该有“名称”、“品牌”、“等级”和“说明”。 第二个问题:如何通过代码接收tableview中的所有这些信息?现在,我正在为我的tableview使用以下节结构,如果它是0或1,则依赖于var p。然后选择索引0或1上的节(基于单击的节) 对于这两

基本上,我想在UITableView中显示每个烟草和所有可用的水烟,这取决于是否按下了烟草部分或水烟部分。首先你应该看到品牌,然后是“产品”(像所有的烟草或水烟)。 那么现在,firebase数据库到底应该是什么样子呢?因为每种产品(水烟、烟草)都应该有“名称”、“品牌”、“等级”和“说明”。 第二个问题:如何通过代码接收tableview中的所有这些信息?现在,我正在为我的tableview使用以下节结构,如果它是0或1,则依赖于var p。然后选择索引0或1上的节(基于单击的节)

对于这两个问题中的任何一个,我都非常感激。
谢谢大家!

品牌->产品->烟草->唯一标识->名称、等级和描述

               -> hookah -> uniqueId -> name, rating and description
我不确定你是否需要在产品细节中包括品牌,因为这将是主要的母公司。
希望这能有所帮助:)

如果您只是在读取数据,而不会查询任何内容,那么这非常简单

root
   all_data
      data_0 //created with .childByAutoId
         brand: "7 days"
         products:
            "Tabak1": true
            "Tabak2": true
       data_1
         brand: "Zomo"
         products:
            "Tabak1": true
            "Tabak2": true
       data_3
         brand: "Aeon"
         products:
            "Shisha1": true
            "Shisha2": true
但是,如果您想查询所有拥有Tabak2产品的品牌,这将导致问题*。因此,这里有一个替代方案,可以让您轻松确定具有Tabak2的品牌节点

root
   brands
      brand_0
         brand: "7 days"
      brand_1
         brand: "Zomo"
      brand_2
         brand: "Aeon"
   products_by_brand
      brand_0
         "Tabak1": true
         "Tabak2": true
      brand_1
         "Tabak1": true
         "Tabak2": true
      brand_2
         "Shisha1": true
         "Shisha2": true
如果你想变得超级酷,那么这里有一个交叉引用所有产品和品牌的结构,它允许各种查询,允许你将单个产品链接回多个品牌,反之亦然

root
   brands
      brand_0 //created with .childByAutoId
         brand: "7 days"
         product_0: true //products should probably be in a child node
         product_1: true
      brand_1
         brand: "Zomo"
         product_0: true
         product_1: true
   all_products
      product_0
         name: "Tabak1"
         brand_0: true
         brand_1: true
      product_1
         name: "Tabak2"
         brand_0: true
         brand_1: true

*这实际上可以通过深度路径查询来实现

这不是一项代码编写服务,但我们很乐意帮助您处理您遇到困难的现有代码。如果您想了解如何从Firebase中获取信息,文档中已经很好地介绍了这一点。要使您的结构“正确”,我们需要更多信息。i、 e.是否要查询子节点?如果是,原因是什么?数据的结构与您希望从中获得什么直接相关。写一些代码,当你陷入困境时更新你的问题。
root
   brands
      brand_0 //created with .childByAutoId
         brand: "7 days"
         product_0: true //products should probably be in a child node
         product_1: true
      brand_1
         brand: "Zomo"
         product_0: true
         product_1: true
   all_products
      product_0
         name: "Tabak1"
         brand_0: true
         brand_1: true
      product_1
         name: "Tabak2"
         brand_0: true
         brand_1: true