2

我有一个 UITableView 有很多行和很多部分(超过 500 个部分)。拥有很多行并不是那么糟糕,因为只有可见行是使用 dequeueReusableCellWithIdentifier 方法加载的。问题是每次我执行 [tableView reloadData] 时都会加载所有节标题。

有没有办法像我将它用于行一样使用出队的部分标题?

如果没有,我能想到的唯一两个选择是:

  1. 处理节标题队列我自己。
  2. 使节标题成为自定义单元格并管理节单元格映射我自己。

这两种解决方案都非常复杂,因为我使用 NSFetchedResultsController。

4

2 回答 2

0

如果您确定每次都加载所有节标题*,则表示这是系统行为。

使用 NSFetchedResultsController 有什么复杂的?如果确实如此,也许您应该编写自己的 UITableViewDelegate/DataSource 以获得更大的灵活性。

*即那个

 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

或者

 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

当您发送 [tableView reloadData] 消息时被调用 X 次。

于 2012-02-06T05:56:52.350 回答
0

幸运的是我的接受率 - 这个问题在 iOS6 中解决了: UITableView 的 dequeueReusableHeaderFooterViewWithIdentifier 方法。

于 2013-03-11T14:05:19.103 回答