Изменение данных докладчика MVP и состояние гонки обновления UITableView - PullRequest
0 голосов
/ 23 мая 2019

Когда UITableView загружается, он просит докладчика загрузить данные.Presenter пытается получить данные из Model, которая загружает данные из локальной базы данных (устанавливает объект массива данных), возвращает данные в Presenter.Ведущий начинает просмотр для обновления.В то же время Модель запускает серверный вызов для получения последних данных.После того, как он получает новые данные, он уведомляет Presenter, который, в свою очередь, уведомляет UITableView о начале обновления (ЭТО еще не завершило первоначальное обновление).При обновлении изменений данных презентатора UITableView возникает проблема состязания после того, как UITableView вызвал количество строк ... когда он пытается получить ячейку для строки в indexpath, количество объектов, которые презентатор может иметь, не совпадает с момента изменения данных.Каков рекомендуемый способ справиться с этой ситуацией?Блокировка доступа к объекту данных в Presenter, это может заблокировать основной поток ... Следует отметить, что обновление данных происходит в фоновом потоке

...