核心数据与 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 为您处理)。
如果您(例如)在 Class 和 Student 之间存在多对多关系,那么只需在它们之间创建一个关系并将其定义为 Many
两端的关系。 Core Data 将通过创建连接表和类似的东西为您处理数据。你不必担心这个。
对于预加载数据,您也可以这样做。这需要一些工作,但您可以捆绑 CoreData 生成的预加载数据库并在初始启动时将其解包。
使用哪个主要取决于意见(因此对于 *** 来说不是一个很好的问题)。有一些优秀的tutorials on Core Data on the Ray Wenderlich网站。
如果您以前从未使用过 CoreData,那么值得一读。
【讨论】:
以上是关于核心数据与 SQLite [关闭]的主要内容,如果未能解决你的问题,请参考以下文章