MVP演示者数据更改和UITableView更新竞争条件

时间:2019-05-23 01:31:45

标签: ios swift uitableview mvp presenter

当UITableView加载时,它要求演示者加载数据。 Presenter尝试从Model获取数据,该Model从本地db加载数据(设置其数据数组对象),然后将数据返回给Presenter。 演示者开始更新视图。同时,模型开始服务器调用以获取最新数据。获取新数据后,它通知Presenter,后者又通知UITableView开始更新(它尚未完成初始更新)。 在UITableView要求行数之后更新UITableView presenter数据更改时存在争用条件...当尝试在indexpath处获取行的单元格时,由于数据更改,presenter可能具有的对象数不匹配。 建议如何处理这种情况?在Presenter中锁定对数据对象的访问,这可能会锁定主线程... 要注意的一件事是,数据更新是在后台线程上进行的

0 个答案:

没有答案
相关问题