【发布时间】:2021-03-19 21:17:31
【问题描述】:
我必须为一个满足条件的表创建一个动态数据源:
- 我们不知道确切的节数
- 我们不知道部分标题的确切标题
- 我们现在不知道每次在每个部分中有多少行
要检测每个部分的行数,我有以下代码:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let header = tableView.headerView(forSection: section)
return self.servicesData?.filter({ $0.clubName == header?.textLabel?.text }).count ?? 0
}
其中servicesData 是要由标题标题(又名clubName)过滤的对象数组。标题是从对象数组中收集的。
由于某种原因,我在尝试访问标头时总是得到nil。到目前为止,我尝试直接在numberOfRowsInSection 中调用tableView(_:titleForHeaderInSection:),但显然没有运气。
非常感谢您的反馈。
【问题讨论】:
-
必填,你设置委托了吗?
-
当然是@CSmizzle(如果你的意思是
self.servicesTableView.delegate = self self.servicesTableView.dataSource = self) -
在获得
serviceData的完整列表后,您是否致电tableView.reloadData()? -
@Andrew 是的,我在从 API 下载新的
serviceData数组后立即调用此方法 -
你能发布你的 cellForRowAt 函数吗?
标签: ios swift uitableview uikit