先见下图:
以前不敢使用异步更新,是因为不知道对于这种情况该如何处理:
1个用户正在阅读新闻,之后异步更新了,这条新闻没了,之后返回原来的新闻小专栏里,这条已经被删掉的新闻该怎么处理?
上面这套逻辑就解决了这个问题,首先,网络数据直接和数据库交互,而本地操作也和数据库交互,数据库是中间环节,这就保证了本地操作只需要看数据库。而且在view contrller中,建立了相应的数组保存从数据库检索出的东西,这样,当从新闻阅读界面返回时,只要用户不手动刷新,view controller就能继续使用上次由数据库数据生成的 object 数组,达到了 view controller 的数据和 数据库数据的分离效果。关键点就是要从数据库的信息生成一套 object数据,copy了原始的信息,保存到了view controller中!