Ios 如何在uitableview中正确显示嵌套数组数据,并使用多个级别的节

Ios 如何在uitableview中正确显示嵌套数组数据,并使用多个级别的节,ios,swift,uitableview,sections,Ios,Swift,Uitableview,Sections,我有以下json数据 { "Display_Selected List": [ { "product_name": "Product1", "items": [ { "item_name": "SubItem1", "specifications": [

我有以下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"

                }
              ]
            }
            ]
            }
          ]
}
根据设计要求,我必须将整个数据显示在单一视图中,如下所示 我已经创建了如下图所示的粗略设计

我可以通过
uitableview
内部
uitableviewcell
实现这一点,但是
根据苹果公司的建议,苹果公司不建议使用表视图 添加为其他可滚动对象的子视图

现在我的问题是如何通过单个uitableview实现以下设计,并且根据我的json,所有内容都是动态的


有人在附近见过这样的东西吗?任何参考都会很有帮助。

如果您不想在
tableViewCell
中使用
tableView
,可以使用以下方法

  • 创建3个不同的单元格,第一个用于显示项目名称,第二个用于显示规范组名称,第三个用于显示规范项目(例如:Sp1、Sp2、…)
  • numberOfRowsInSection
    将具有正确的计数,以使用上述创建的单元格显示数据。因此numberOfRows应返回与rowsInSection= 项目数量+每个项目的规格数量+每个项目的每个规格列表数量
  • 相应地更改数据源并进行条件检查,以便首先显示“项目名称”单元格,然后显示“规格组名称”单元格,然后显示每个规格中的规格项目,然后显示下一个项目名称,依此类推
我希望这种方法能帮助你取得成果


如果您可以在
tableViewCell
中使用
tableView
,这将很容易,在许多应用程序中,我都使用过这种方法,而且我没有遇到任何Apple review问题。如果您在
tableView
内部使用
tableViewCell
最好禁用滚动和反弹属性。

如果每次都显示项目名称,则可以对产品使用headerview,然后还可以在标题中添加。对于项目和规格组,您可以使用本教程sapandiwakar.in/nested-sections-in-uitableviewno my产品应该是sectionHeader,因为有多个产品数组show product>Item>Specification>Listyes product&Item display每次都显示?但是如果项目没有任何规格,那么它会像此产品一样排列>Item second Items根据教程有Sports>Bat and ball>Basketball,但我有4个级别Apple不建议添加表视图作为其他可滚动对象的子视图,这就是为什么我没有按照您的答案使用tableview单元格的原因。在tableview单元格中使用tableview更好,或者在速度方面创建3个不同的单元格(在速度方面),我想使用3个不同的单元格会更好。但是管理数据源可能是一项挑战,我希望您能通过这种方法达到预期的结果。祝你好运:)