UITableView падает из-за перезагрузки данных в то же время, что и прокрутка табличного представления - PullRequest
0 голосов
/ 04 декабря 2018

Я использую UITableView, чтобы показать список записей.Мой стол позволяет обновлять сверху и снизу.При обновлении сверху старые записи остаются видимыми, пока не будут получены новые данные.После извлечения данных все записи из массива удаляются и новые записи заполняются.Затем в качестве последнего шага я обновляю табличное представление, чтобы отразить вновь извлеченные данные.

Все работает как шарм.

НО ...

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

Легким решением было бы очистить представление таблицы при выполнении верхнего обновления, но это не выглядит хорошо с точки зрения эстетики пользовательского интерфейса.Также, если вызов не удастся, у меня не будет ничего, чтобы показать пользователю.

Я попытался инкапсулировать код обновления в блоке beginUpdate и endUpdate таблицы, но он не будет работать, так как нетизменить в самой таблице (то есть без добавления / удаления).

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 04 декабря 2018

Поскольку вы говорите, что прокручиваете и происходит сбой, вероятно, потому что вы пытаетесь вставить данные в индексы, которые больше не видны.Вы должны как-то проверить, по какому индексу вы находитесь, прежде чем пытаться обновить таблицу.Некоторый код поможет мне лучше понять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...