Xcode数据库使用混乱

时间:2012-07-25 16:29:31

标签: iphone objective-c ios database

我是iPhone应用程序开发的新手,对存储数据有疑问。我花了很长时间来学习核心数据,但仍然对持久性存储的概念感到困惑。

据我所知,核心数据只是管理从外部数据库下载的数据的一种方式。但鉴于核心数据是由SQLite支持的,这是否意味着在运行时存在SQLite数据库内存?如果是这样,这是否意味着当我使用核心数据时,如果我在开始时下载一个庞大的数据集会更有效?但是,对于需要不断更新数据的推特或Facebook这样的应用程序来说,在这些情况下,直接的$ NSURLConnection是否足够?如果使用核心数据,额外的开销(即数据对象)是否会对这种频繁的更新请求造成负担?

我还想了解一些为iPhone应用设置在线数据库的常用方法吗?它通常是带有自制Python包装器的MySQL服务器,它将数据转换为JSON吗?任何标准服务器提供商都会提供整个包吗?还是开源代码?

非常感谢!

1 个答案:

答案 0 :(得分:1)

我要经历并尝试解决您的每一个问题,如果我错过了一个,请告诉我!

首先,核心数据也可用于存储在您的应用中生成的信息,没有什么可以阻止您以这种或那种方式使用它。

我理解它的工作方式是,无论您的应用程序是否正在运行,都存在Core Data使用的文件或其他存储机制。对于用户必须等待大型数据库下载并加载到本地数据库而不能与您的应用程序交互不是最好的方式,在我看来,人们反应消极的无响应的用户界面。当用户第一次运行您的应用程序时,您可能需要获取更大的数据集,但如果其中任何一个是通用的并且可以预先加载是理想的,则应该在用户尝试下载其余数据时访问它。

根据您的理解,Facebook和Twitter应用程序的工作方式是建立连接并从适当的站点提取信息,据我所知,他们存储的唯一内容是个人资料信息。我会毫不犹豫地使用核心数据来存储人们的信息,因为最终是的,由于必须存储人们的新闻提要或消息可以追溯到几个月,因此会产生大量的开销。

至于在线数据库的设置是我不熟悉的,所以希望其他人可以提供一些见解,或者如果我发现我认为可能有用的东西,我会在这里回复你。这部分实际上可能值得单独提出问题。

如果您需要我详细说明,请告诉我们。