iOS Swift预加载应用程序数据

时间:2016-09-04 07:39:32

标签: ios swift api core-data

我正在开发一个依赖于应该在应用程序首次启动时从我们的远程服务器加载的数据的应用程序。目前,我只是使用少量不同的函数获取数据,然后将数据加载到不同的对象数组中。我做了一些关于预加载数据的研究,但我发现的所有内容都与使用CoreData对象预加载数据有关。以下是我的问题:

  1. 我应该使用CoreData对象加载数据吗?可以将数据加载到自定义对象数组中吗?

  2. 将数据加载到自定义对象数组中的优缺点是什么?

  3. 将数据加载到CoreData对象有哪些优缺点?

  4. 我应该如何让应用程序加载数据,确保每个函数都已完成并且在应用程序继续加载主视图之前已加载数据?

  5. 谢谢!

1 个答案:

答案 0 :(得分:1)

将数据加载到CoreData对象和自定义对象数组的两种变体都可以,但主要用于不同的目的。使用CoreData对象存储数据是存储持久数据的最常用方法。因此,如果您将来可能必须支持应用程序的离线模式工作,那么这是正确的选择。如果您确定您的应用程序仅在Internet访问可用的情况下才能工作,则无需支持数据持久性,并且将数据存储到自定义对象数组中就足够了。

谈论数据服务器请求链接。您可以在application:didFinishLaunchingWithOptions:方法中执行同步调用。在这种情况下,应用程序将在加载数据时显示启动屏幕。但这可能不是最佳解决方案,因为用户可能会对应用程序实际启动之前的这么长时间内发生的事情感到困惑。如果我是你,我宁愿使用某种进度条创建加载屏幕,向用户显示数据正在加载以及已加载了多少数据。对于在这种控制器中链接请求,我会使用ReactiveCocoa。您可以通过此link找到如何执行此操作的示例。