请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

同步

老师你好,tableview数据源同步,这里我们在子线程或者主线程公用一个数据源不可以吗?为什么要把数据源拷贝一份到子线程,而导致删除操作后数据不同步的问题呢。
我感觉这里我们是不是可以在这样来做:主、子线程公用一个数据model。model里面有一个版本号,初始值都是0,每次我们修改model,都把这个值+1,。然后当我们子线程做预排版之前,先把这个版本号记录下来,在做完预排版等一系列耗时操作后,再读取一下公用model的版本号,如果和刚才记录的不一致,那么说明我们的model已经被修改了,这时候不论我们需要记下当前版本号,再排一下版,然后查看一下我们刚才记录的model版本号和现在公用得model版本号码是不是一直,如果不一致则重复刚才的操作,如果相同则从子线程回到主线程执行刷新操作。ps:这里我们操作的数据model和预排版操作产生的framemodel注意下多线程中数据冲突的问题即可

正在回答 回答被采纳积分+3

1回答

于海 2018-09-08 17:45:14

课程当中有给出解决同步的2个方案,除了这种数据源拷贝,另外一个方案就是公用一套数据 加一个串行队列保证同步,这是比较简单得一个方案

0 回复 有任何疑惑可以回复我~
  • 提问者 潜心001 #1
    你好,什么情况或者场景下,我们必须把数据源拷贝出来一份呢,或者说课程中讲的第一种方案具体什么场景下会用到呢,可否举个例子,谢谢了哈
    回复 有任何疑惑可以回复我~ 2018-09-08 18:09:10

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信