iOS – 如何处理在线/离线数据

我目前正在开发一个带有大数据库的应用程序。 通过以下方式将应用程序视为与TripAdvisor类似:具有不同数据库的多个城市,每个城市在5,10,20,30 MB之间。 我的整个应用程序都基于这些数据:每个视图都需要它的一部分。

我很难找到处理这一大块数据的正确方法。 我目前正在使用CoreData:我认为它是一个很棒的工具,对于离线模式,它绝对有用。 问题是,我无法真正将其与“在线”模式结合起来。 如果用户不想为X / Y原因存储数据,我不知道应该如何处理数据。 简单地将它分配给将要发布的变量,还是有更好的方法来处理数据? 现在我将它存入CoreData而不保存它:我知道这绝对不是管理它的好方法。 我怎么能实现这个目标? 处理在线数据的最佳方法是什么,如果用户也希望离线,那么只需将其存储起来?

选项1:

数据始终是静态的/不经常更改数据:您应该有在线数据。 您可以通过webservice获取数据并将其存储到本地数据库(即core -data)。 例如:圣经,古兰经应用程序。

选项2:

数据经常更改,用户需要经常更新:与上述相同。 此外,从服务器发送通知(i,e推送通知)到服务器有新数据的应用程序。在应用程序中收到通知后,下载并将数据保存到您的数据库。