Как динамически загружать заголовок раздела, как загружаются ячейки - PullRequest
2 голосов
/ 18 сентября 2011

У меня есть UITableView с большим количеством строк и большим количеством разделов (более 500 разделов). Наличие большого количества строк не так уж и плохо, потому что только видимые строки загружаются с использованием метода dequeueReusableCellWithIdentifier. Проблема в том, что ВСЕ заголовки разделов загружаются каждый раз, когда я выполняю [tableView reloadData].

Есть ли способ использовать заголовки секций в устаревшем состоянии так же, как я использую его для строк?

Если нет, я могу придумать только два варианта:

  1. Обработка очереди заголовков разделов.
  2. Создание заголовков разделов в качестве пользовательских ячеек и управление отображением ячеек разделов.

Оба решения очень сложны, потому что я использую NSFetchedResultsController.

Ответы [ 2 ]

0 голосов
/ 11 марта 2013

К счастью для моей скорости принятия - эта проблема была решена в iOS6 с: Метод dequeueReusableHeaderFooterViewWithIdentifier в UITableView.

0 голосов
/ 06 февраля 2012

Если вы уверены, что все заголовки разделов загружаются каждый раз *, это означает, что это системное поведение.

Что сложно с помощью NSFetchedResultsController?Если это действительно так, возможно, вам следует написать свой собственный UITableViewDelegate / DataSource для большей гибкости.

*, т. Е.

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

или

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

называются Xвремя отправки сообщения [tableView reloadData].

...