1

可能重复:
将普通 sqlite3 数据库迁移到核心数据?

是否可以将现有的 sqlite db 加载到核心数据中?我遇到了麻烦,实际上在核心数据示例中,我发现它包含一个带有 z 前缀的表名和其他属性的数据库。那个z有什么意义?我也在这个博客中看到http://ablogontech.wordpress.com/2009/07/13/using-a-pre-populated-sqlite-database-with-core-data-on-iphone-os-3-0/使用核心数据创建数据库并加载它,这是一种解决方法,但不是将数据加载到核心数据的正确方法。我需要对表进行大量更新和查询,请建议是直接使用sqlite还是使用core data?如果是核心数据,请建议将现有sqlite文件导入核心数据的最佳方法

4

3 回答 3

7

Core Data 使用 SQLite 的事实应该是一个实现细节。事实上,Core Data 文档明确指出,您不应该以任何方式在 Core Data 之外访问数据库本身。

同样,您不应该在 Core Data 下强制使用您自己的数据库。

如果要将现有数据库导入 Core Data,则需要编写一些代码来遍历现有数据库中的每个条目,并创建相应的对象以插入 Core Data。

FWIW,Z_ 的东西是他们数据库上的核心数据装饰。

不要乱用数据库。现在,事实证明您可以对数据库做一些事情,但您真的不应该——除非你是专家——然后你仍然不应该,但可能会。

于 2012-09-07T13:18:13.460 回答
3

您想查看 Ray Wenderlich 的关于将现有数据预加载到 Core Data 的教程:在这里查看 这是一个非常完整的教程,它将帮助您了解有关一起使用 Sqlite 和 Core Data 的一些概念。这是一个三部分的教程。试一试。

于 2012-09-07T05:43:29.670 回答
0

你最好听听这里的建议。鉴于内部数据库已被修饰,您至少必须对自己的数据库做同样的事情,以使其有一半的工作机会。

如前所述,您应该将它导入,例如,在您的代码库中,并为该任务编写一些一次性代码。这样,ios 将在本地为您处理一切。

于 2012-09-07T14:43:52.687 回答