在iPhone上预加载数据库?

时间:2010-06-07 15:14:29

标签: objective-c ios sqlite core-data

我正在开发一个只读的应用程序。数据有关系,所以我不能只使用plist或类似的东西。

问题:

  • 我应该将核心数据用于此类要求吗?
  • 如果是这样,我将如何输入数据然后使用该数据发布应用程序?
  • 如何使应用程序不需要在每次加载时重新填充数据库?
  • 有没有办法使用sqlite的sql命令创建一个Core Data模型(即插入等)?

3 个答案:

答案 0 :(得分:4)

您可以使用SQLite数据库来完成此任务。

  1. 在iOS应用中创建模型。
  2. 在Mac OSX实用程序命令行应用程序中创建并填充数据库
  3. 将sqlite文件复制到您的iOS应用程序中,并将其与某些代码链接
  4. 逐行完成这两个教程,然后您将有足够的理解(和代码示例)在您自己的应用程序中完成此任务。

答案 1 :(得分:1)

根据我对iPhone的短暂体验,您有两种选择。

  1. 编写数据导入功能并在第一次启动应用程序时运行它。
  2. 使用解决方案1,但在模拟器中构建初始sqllite文件,然后在第一次启动应用程序时,将其复制到应用程序的文档目录中。
  3. 根据过去的经验,选项2对用户体验和首选解决方案来说要快得多。

答案 2 :(得分:1)

您可以编写一个实用程序项目来导入应用程序的数据模型,并使用该项目的一次性代码来填充Core Data DB。填充数据库后,只需将实际文件复制到app项目的resources文件夹,然后在设置持久存储时,使用NSBundle返回构建应用程序中DB文件的路径。

你已经完成了。