表格视图分区与可变行高的实现
1. 表格视图分区
1.1 分区的原因
将表格数据分组为多个分区有以下几个原因:
- 想在表格视图中将表格单元格聚类成组。
- 想在表格视图中显示分区标题(或页脚,或两者都显示)。
- 想通过索引使表格视图的导航更轻松。
- 想便于重新排列表格视图内容的整个部分。
1.2 分区的数据结构
具有分区的表格在其数据模型的构建和架构方面可能需要一些规划。为了回答三个关键问题(有多少个分区、给定分区有多少行、获取指定行的数据),通常需要一个两级的数据结构。一个标准的最小方法是使用分区数组,每个分区包含一个行数据数组,示例代码如下:
struct Row {
// properties pertaining to each row
}
struct Section {
// properties pertaining to each section
var rowData : [Row]
}
var sections = [Section]() // data model
此时,三个关键问题的答案如下:
- 分区数量: self.sections.count 。
- 指定分区的行数: self.sections[section].rowData.count 。
- 在 tableView(_:cellForRowAt:) 方法中获取行数
超级会员免费看
订阅专栏 解锁全文
58

被折叠的 条评论
为什么被折叠?



