如何在固定数量的部分中有不同的行?
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
【讨论】:
以上是关于如何在固定数量的部分中有不同的行?的主要内容,如果未能解决你的问题,请参考以下文章