1

从远程数据库加载的数据可以在 iOS 本地存储的最佳方式是什么。(您不需要提供任何代码,我只是想从概念上了解最佳方式。)

例如,以 iOS 版 Twitter 为例。当它加载推文时,它是否只是从远程数据库中提取推文数据并将它们存储在 iPhone 上的本地数据库中?或者如果数据只是在本地存储为对象数组或类似的东西会更好吗?

看,我认为为了能够使用/显示来自远程数据库的数据(例如,在动态表视图中),数据无论如何都必须存储为对象,所以也许它们应该只存储为对象在一个数组中。但是,在研究这个的时候,我确实看到了很多关于本地数据库的文章,所以我认为将远程数据加载为表并将其存储在本地数据库中并直接使用本地表中的数据显示可能更有效数据或类似的东西。

哪一个需要更多开销:将数据存储为 Tweet 对象数组或本地推文数据库?

您认为在本地(在内存中)存储远程数据的最佳方式是什么(对于加载数据的应用程序类似于 iOS 版 Twitter)?

我想这引出了这个先决条件:当下载来自远程数据库的数据时,它是否通常作为数据库表(结果集)加载并因此存储为一个?

谢谢!

4

1 回答 1

3

虽然将获取的数据直接放入您的数组并从那里使用它非常容易,但使用本地数据库很可能会受益,主要有两个原因:可伸缩性和持久性。

如果您希望下载并显示大量数据,尝试一次将其全部存储在内存中可能是不安全的。下载您需要的任何数据,将其存储在本地数据库中,然后仅获取您需要显示的相关对象,这将更具可扩展性。

如果您下载数据并将其仅存储在一个数组中,则必须从远程数据库重新获取该数据并在下次加载您的应用程序/视图控制器/等时重新解析,然后才能显示任何内容。相反,创建一个本地数据库来存储下载的数据,以便在从远程源获取新数据时随时显示它。

虽然在创建数据库时会产生一些初始开销,但为您提供的可伸缩性和持久性足以保证这一点。将远程数据库的状态存储在本地数据库中是一种非常常见的做法。

但是,如果您不介意用户在每次加载时都必须等待获取此数据,或者获取的数据量相对较低或数据非常简单,那么您将节省跳过本地数据库的时间和精力.

于 2013-07-08T19:46:15.547 回答