如何使用Core Data管理预构建的SQL数据库?

时间:2011-01-08 20:54:22

标签: core-data

我正在制作一个简单的应用程序,可以帮助您跟踪卡路里,碳水化合物,蛋白质等。 您可以从食物及其价值的基本列表开始,也可以添加自己的食物。

例如: 苹果有x cals,y carbs,z蛋白等。 牛排有3x cals,3y碳水化合物,3z蛋白质等。 等等...

我希望当应用程序第一次加载时,不需要经过Core Data的过程从pList或SQL文件构建食物的初始数据库。

有没有办法使用CoreData预构建数据库,以便用户的iPhone不必执行此操作?

目标C是我的第一语言,我从未学过SQL。我为CoreData工作的所有示例都涉及通过与用户界面交互来创建数据库。必须有一种方法来管理预建的数据库。是否有术语来区分两种类型的数据库(在运行时创建的数据库和在运行时之前创建的数据库)?

感谢。

-A

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,目前你有一个数据转储,你在第一次运行应用程序时解析,并放入Core Data。这需要一些时间,而您更愿意使用预先加载的此信息发送您的应用程序(无需解析它)。

如果是这种情况,可以在此处预先加载核心数据:http://www.raywenderlich.com/980/core-data-tutorial-how-to-preloadimport-existing-data

请注意,您需要了解一些SQL。

答案 1 :(得分:0)

是 - 您可以在应用程序包中包含预先构建的数据库,并将其上传到AppStore。但是,由于您的AppBundle具有校验和,并且设备会检查这些校验和以确保应用程序未被修改 - 您无法以此形式对数据库进行修改。

因此解决方案是将预构建的数据库包含到您的应用程序包中,当用户下载您的应用程序并在第一次启动时,您将预构建的数据库复制到应用程序文档或应用程序支持文件夹中。允许改变它。

希望这有帮助。