【问题标题】:how to display nested array data inside uitableview properly with Multiple level of Sections如何使用多级部分正确显示 uitableview 内的嵌套数组数据
【发布时间】:2018-01-19 11:26:09
【问题描述】:

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

                }
              ]
            }
            ]
            }
          ]
}

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

我可以通过uitableviewuitableviewcell 中实现这一点,但作为 根据 Apple 的建议 Apple 不建议使用表视图 添加为其他可滚动对象的子视图

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

有没有人见过这样的东西?任何参考都会有所帮助。

【问题讨论】:

  • 如果每次都显示项目名称,您可以对产品使用 headerview,然后您还可以在 header..for 项目和规格组中添加您使用本教程 sapandiwakar.in/nested-sections-in-uitableview
  • 没有我的产品应该是 sectionHeader 因为有多个产品数组显示 Product>Item>Specification>List
  • 是每次都显示产品和项目?
  • 但是如果 item 没有任何规范,那么它的数组就像这个 Product>item-second item
  • 根据教程有体育>蝙蝠和球>棒球,但我有 4 个级别

标签: ios swift uitableview sections


【解决方案1】:

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

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

我希望这种方法可以帮助您实现结果。

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

【讨论】:

  • Apple 不建议将表格视图添加为其他可滚动对象的子视图,这就是为什么我不根据您的回答使用表格视图单元格,在表格视图单元中更好的表格视图或创建 3 个不同的单元格,(在速度方面)
  • 就速度而言,我想使用 3 个不同的单元格会更好。但管理数据源可能是一项挑战
  • 谢谢,我希望你能用这种方法达到预期的效果。祝你好运:)
猜你喜欢
  • 2015-02-20
  • 2022-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 1970-01-01
  • 2016-01-02
相关资源
最近更新 更多