如何在固定数量的部分中有不同的行?

Posted

技术标签:

【中文标题】如何在固定数量的部分中有不同的行?【英文标题】:How can I have different rows in a fixed number of sections? 【发布时间】:2020-06-05 18:22:36 【问题描述】:

我遇到了麻烦,不知道如何在 TableViewController 的每个部分中拥有不同数量的行。此外,您能告诉我如何访问它们吗?

如果我必须在中设置 array.count,我不明白它应该如何工作

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 

【问题讨论】:

将数据结构化为数组数组。主数组每个部分有一个子数组,子数组有你的单元格信息。 【参考方案1】:

假设一个单元格的模型只是一个 int。您可以使表格视图的模型成为数组数组。使用外部数组保存部分,使用内部数组保存部分的行:

let model: [[Int]] = [
    [1, 2, 3],              //First section, 3 rows
    [4],                    //2nd section, 1 row
    [5, 6, 7, 8],           //3rd section, 4 rows
    [9, 10, 11, 12, 13, 14] //4th section, 6 rows
]

然后正如弗兰肯斯坦在他的回答中所说:

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    return model[section].count


override func numberOfSections( in tableView: UITableView) -> Int 
    return model.count

您的 cellForRowAt 函数将使用节号作为外部数组的索引,并将行作为内部数组的索引:

let item = model[section][row]

【讨论】:

【参考方案2】:

您可以为此使用two-dimensional 数组,如下所示:

var array = [[MyType]]()
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    array[section].count

【讨论】:

以上是关于如何在固定数量的部分中有不同的行?的主要内容,如果未能解决你的问题,请参考以下文章

在sql server中一次插入固定数量的行2000

在Oracle的SQL查询中获取固定数量的行[重复]

如何在 AG Grid Vue 中刷新固定的行数据

如何选定excel表格中的一部分表格

如何在表格的一部分中显示有限的行?

如何在同一个 ListView 中有 3 种不同的行设计?