Будьте уведомлены, когда UITableView закончит просить данные?

Нет, но если Ваш язык поддерживает его, существует веский довод, который будет сделан этим в большинстве случаев, они должны (может) быть объявлен как 'статичный'... Static говорит компилятору, что они нельзя инстанцировать, и что все методы в них должны быть статичными.

Краткий обзор для классов, которые ДЕЙСТВИТЕЛЬНО имеют основанные на экземпляре детали реализации, которые будут использоваться экземплярами производных классов...

108
задан Leo Dabus 6 November 2017 в 05:02
поделиться

3 ответа

I had something similar I believe. I added a BOOL as instance variable which tells me if the offset has been restored and check that in -viewWillAppear:. When it has not been restored, I restore it in that method and set the BOOL to indicate that I did recover the offset.

It's kind of a hack and it probably can be done better, but this works for me at the moment.

1
ответ дан 24 November 2019 в 03:32
поделиться

Разве UITableView layoutSubviews не вызывается непосредственно перед тем, как табличное представление отобразит свое содержимое? Я заметил, что он вызывается после того, как табличное представление закончило загрузку своих данных, возможно, вам следует провести исследование в этом направлении.

0
ответ дан 24 November 2019 в 03:32
поделиться

Этот ответ, похоже, больше не работает из-за некоторых изменений, внесенных в реализацию UITableView с момента написания ответа. См. Этот комментарий: Получить уведомление, когда UITableView закончит запрашивать данные?

Я играл с этой проблемой пару дней и думаю, что подкласс UITableView reloadData - лучший подход:

- (void)reloadData {

    NSLog(@"BEGIN reloadData");

    [super reloadData];

    NSLog(@"END reloadData");

}

reloadData не заканчивается, пока таблица не завершит перезагрузку своих данных. Итак, когда запускается второй NSLog , табличное представление фактически завершило запрос данных.

Я создал подкласс UITableView для отправки методов делегату до и после reloadData . Работает как часы.

60
ответ дан 24 November 2019 в 03:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: