ios - 如何使用多级节正确显示 uitableview 中的嵌套数组数据

标签 ios swift uitableview sections

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

                }
              ]
            }
            ]
            }
          ]
}

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

enter image description here

I can achieve this via uitableview inside uitableviewcell but as per Apple recommendation Apple does not recommend table views to be added as subviews of other scrollable objects

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

有人见过这样的事情吗?任何引用都会有帮助。

最佳答案

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

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

我希望这种方法能够帮助您实现目标。

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

关于ios - 如何使用多级节正确显示 uitableview 中的嵌套数组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45626816/

相关文章:

ios - SWRevealViewController 从 subview 推送

ios - 如何使用 SpriteKit 替换背景图像?

swift - 在 Swift 中重写 Equatable 和 Hashable

ios - 如何覆盖和继承 Swift 中的扩展?

ios - 如何在 swift : 中创建带有参数的单例

ios - 使用 Data.plist 时向表添加披露按钮

iphone - CLGeocoder 中的 Unicode 字符

ios - 有没有办法复制数组中 NSDictionaries 的数量?

ios - 如何像 iOS 中的 Pinterest 应用程序一样刷新表格 View 而不会出现任何问题

ios - 在 Xcode_6 beta 5 中只有部分 tableview 单元格内容可见