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

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

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

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

提前致谢。

【问题讨论】:

标签: ios objective-c sqlite core-data


【解决方案1】:

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

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

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

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

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2010-10-06
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 2011-10-03
    • 2014-01-27
    • 2010-11-05
    相关资源
    最近更新 更多