基本上,我想在一个UITableView中显示每一个烟草和所有可用的钩子,基于是否按下烟草段或钩子段。首先,你应该看到品牌,然后是“产品”(就像所有的烟草或胡卡)。那么现在,防火墙数据库到底应该是什么样的呢?因为每一种产品(钩子、烟草)都应该有“名称”、“品牌”、“等级”和“描述”。第二个问题:我如何通过代码在我的表视图中接收所有这些信息?现在,我正在为我的表视图使用下面的部分结构,如果它是0或1,它依赖于var p,然后它选择索引0或1上的部分(基于单击哪个段)。
var sections = [[Section(brand: "7 Days", products: ["Tabak1", "Tabak2", "Tabak3"], expanded: false),
Section(brand: "Zomo", products: ["Tabak1", "Tabak2", "Tabak3"], expanded: false)],
[Section(brand: "Aeon", products: ["Shisha1", "Shisha2", "Shisha3"], expanded: false),
Section(brand: "Vendetta", products: ["Shisha1", "Shisha2", "Shisha3"], expanded: false)]]对于这两个问题中的任何一个,我都会非常感激。谢谢!
发布于 2018-11-25 13:40:40
如果您只是简单地读取数据,并且永远不会查询任何内容,这是非常简单的
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*这实际上可以通过深度路径查询来实现。
发布于 2018-11-22 16:53:22
品牌-> products -> -> uniqueId ->名称、评级和描述
-> hookah -> uniqueId -> name, rating and description我不确定您是否需要在产品细节中包括品牌,因为这将是主要的母公司。希望这会有所帮助:)
https://stackoverflow.com/questions/53435005
复制相似问题