关闭。这个问题是
opinion-based .它目前不接受答案。
Best Answer-推荐答案 strong>
您必须在这里意识到 CoreData 不是数据库。
它是您应用程序中的对象持久层。默认情况下,它恰好由 SQLite DB 支持,但这在很大程度上无关紧要。
我编写了一个带有 CoreData 存储的应用程序,其中包含大约 100,000 个实体和数百万个实体之间的关系。
CoreData不能处理复杂数据的说法不正确。
诀窍是设计您的对象模型,就像您在代码中定义您的对象模型一样。
您不需要外键或连接表(这些都由 Core Data 为您处理)。
如果您(例如)在 Class 和 Student 之间存在多对多关系,那么只需在它们之间创建一个关系并将其定义为 每一端都有许多
关系。 Core Data 将通过创建连接表和类似的东西为您处理数据。你不必担心这个。
对于预加载数据,您也可以这样做。这需要一些工作,但您可以捆绑 CoreData 生成的预加载数据库并在初始启动时将其解包。
使用哪个主要取决于意见(因此对于 StackOverflow 来说不是一个很好的问题)。有一些优秀的tutorials on Core Data on the Ray Wenderlich网站。
如果您以前从未使用过 CoreData,那么值得一读。
关于ios - 核心数据与 SQLite,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/30892619/