核心数据与 SQLite [关闭]

Posted

技术标签:

【中文标题】核心数据与 SQLite [关闭]【英文标题】:Core Data vs SQLite [closed] 【发布时间】:2015-06-17 13:10:24 【问题描述】:

我正在编写一个问答应用程序,其中会有数百组问题。

该应用程序将预加载一些测验,但是他们需要下载更多测验,一旦下载,这些测验将存储在应用程序中,以便用户可以离线播放它们。

在这种特定情况下,我最好使用核心数据或 SQLite。

提前致谢。

【问题讨论】:

在期待其他人花时间帮助您之前,您是否对此进行了基本的 Google 搜索?看看maniacdev.com/2009/09/iphone-sqlite-vs-core-data---which-to-choose drdobbs.com/mobile/ios-data-storage-core-data-vs-sqlite/…***.com/questions/523482/core-data-vs-sqlite-3 是的,我做了一个基本的谷歌搜索。它告诉我的是,两者都有优点和缺点。作为一个新程序员,我不确定在这个特定情况下我应该最注意哪些优点/缺点。这就是为什么我要征求一些建议的原因。 【参考方案1】:

您必须在这里意识到 CoreData 不是数据库。

它是您应用程序中的对象持久层。默认情况下,它恰好由 SQLite DB 支持,但这在很大程度上无关紧要。

我编写的应用程序带有一个 CoreData 存储区,其中包含大约 100,000 个实体以及它们之间的数百万个关系。

CoreData不能处理复杂数据的说法不正确。

诀窍是设计您的对象模型,就像您在代码中定义您的对象模型一样。

您不需要外键或连接表(这些都由 Core Data 为您处理)。

如果您(例如)在 ClassStudent 之间存在多对多关系,那么只需在它们之间创建一个关系并将其定义为 Many两端的关系。 Core Data 将通过创建连接表和类似的东西为您处理数据。你不必担心这个。

对于预加载数据,您也可以这样做。这需要一些工作,但您可以捆绑 CoreData 生成的预加载数据库并在初始启动时将其解包。

使用哪个主要取决于意见(因此对于 *** 来说不是一个很好的问题)。有一些优秀的tutorials on Core Data on the Ray Wenderlich网站。

如果您以前从未使用过 CoreData,那么值得一读。

【讨论】:

以上是关于核心数据与 SQLite [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在我的 iOS 项目中是不是使用文件或使用核心数据的 sqlite 数据库? [关闭]

将 sqlite 数据库与 iCloud 同步

如何将 sqlite 数据库与 Core Data 同步?

核心数据(SQLite/iPhone)——设计注意事项?

Firebase 或 SQLite [关闭]

如何将 SQlite 数据库连接到 devcpp? [关闭]