如何正确使用多级段来显示uitableview内部的嵌套数组数据

我有以下json数据

{ "Display_Selected List": [ { "product_name": "Product1", "items": [ { "item_name": "SubItem1", "specifications": [ { "list": [ { "name": "Sp1" }, { "name": "Sp2" } ], "specification_name": "Specification Group 1" }, { "list": [ { "name": "Sp3" }, { "name": "Sp4" } ], "specification_name": "Specification Group 2" } ] }, { "item_name": "Sub Item2", "specifications": [ { "list": [ { "name": "Sp2" } ], "specification_name": "Specification Group 1" }, { "list": [ { "name": "Sp3" } ], "specification_name": "Specification Group 2" } ] } ] }, { "product_name": "Product2", "items": [ { "item_name": "Item1", "specifications": [ { "list": [ { "name": "Sp3" }, { "name": "Sp4" } ], "specification_name": "Specification Group 2" } ] } ] } ] } 

根据devise要求,我必须将这些数据放在单个可用视图中,如下图所示,我创build了如下图所示的粗糙devise

在这里输入图像说明

我可以通过uitableviewuitableview里面实现这个function,但是根据苹果的build议,苹果公司build议不要将表视图添加为其他可滚动对象的子视图

现在我的问题是我怎么能实现以下单一的uitableviewdevise,并根据我的JSON所有的内容是dynamic的

有没有人看到过这样的事情? 任何参考将有所帮助。

如果你不希望在tableViewCell使用tableView ,你可以通过下面的方法。

  • 创build3个不同的单元格,第一个显示项目名称,第二个显示规格组名称,第三个显示规格项目(例如:Sp1,Sp2,..)
  • numberOfRowsInSection将具有正确的计数来显示使用上面创build的单元格的数据。 所以numberOfRows应该返回总计数rowsInSection =项目的数量+每个项目的规格计数+每个项目的每个规格的列表的计数
  • 相应地更改数据源并进行条件检查,以便首先显示名称单元格,然后显示规格组名称的单元格,然后在每个规范内显示规格项目,然后显示下一个项目名称等等。

我希望这种方法能帮助你达到目的。

如果你可以在tableViewCell使用tableView那么很容易,在许多应用程序中,我已经使用了这种方法,而且我还没有面对任何Apple审查问题。 如果你在tableViewCell中使用tableView最好是禁用滚动和反弹属性。