Ios 核心数据与SQLite

Ios 核心数据与SQLite,ios,objective-c,sqlite,core-data,Ios,Objective C,Sqlite,Core Data,我正在编写一个琐事应用程序,其中将有数百组问题 该应用程序将预装一些测验,但他们需要下载更多测验,下载后将存储在应用程序中,以便用户可以脱机玩 在这个特定的实例中,我最好使用核心数据或SQLite 提前感谢。您必须意识到,CoreData不是一个数据库 它是应用程序中的对象持久性层。默认情况下,它恰好由SQLite DB支持,但这在很大程度上是不相关的 我用CoreData store编写了应用程序,其中包含100000个实体和数百万个实体之间的关系 CoreData无法处理复杂数据的论点不正确

我正在编写一个琐事应用程序,其中将有数百组问题

该应用程序将预装一些测验,但他们需要下载更多测验,下载后将存储在应用程序中,以便用户可以脱机玩

在这个特定的实例中,我最好使用核心数据或SQLite


提前感谢。

您必须意识到,CoreData不是一个数据库

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

我用CoreData store编写了应用程序,其中包含100000个实体和数百万个实体之间的关系

CoreData无法处理复杂数据的论点不正确

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

您不需要外键或联接表(这些都由核心数据为您处理)

如果(例如)在学生之间存在多对多关系,则只需在它们之间创建一个关系,并将其定义为两端的
关系。核心数据将通过创建连接表之类的东西为您处理数据。你不必为此担心

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

使用哪种方法在很大程度上取决于意见(对于StackOverflow来说,这不是一个很好的问题)。有一些很好的网站


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

在期待其他人花时间帮助您之前,您是否在这方面做了一次基本的谷歌搜索?看看——选择哪一个是的,我做了一个基本的谷歌搜索。它告诉我的是,两者都有赞成者和反对者。作为一名新程序员,我不确定的是,在这个特定的例子中,我应该最注意这些优点/缺点中的哪一个。因此,我要征求一些建议。