老师您好,想问下,数据源同步的方案一:并发访问、数据拷贝中的一个环节

来源:3-2 UI数据源同步 相关面试问题

PeterSix3244453

2018-04-03

主线程记录删除操作之后,是如何同步到子线程的呢?

写回答

2回答

于海

2018-04-03

比如维护一个数组,专门用来存放删除对象的itemId,主线程删除一条记录的时候,把itemId填入数组。在子线程当中的loadmore完成之后,检查这个数组当中是否有内容,如果有在子线程遍历查找,将对应itemId的项从子线程的拷贝数据当中删除掉,然后再返回给主线程最终的数据列表

2
1
weixin_慕妹6001542
老师,如果子线程先行完成预排版,然后回到主线程,但主线程还未完成删除操作,这个数据还是会有问题。主线程完成删除操作,开始执行子线程回到主线程的数据Merge,这样不还是会把未删除数据的拷贝数据又merge回来了吗?
2018-12-31
共1条回复

于海

2018-04-03

并发访问、数据拷贝  重点在于子线程用的数据是主线程当中的数据列表的一份拷贝,子线程对拷贝的数据进行处理,处理完了之后,将最终结果比如说通过异步回到主队列的方式将对应数据回抛给主线程,整体替换源数据列表

2
0

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程