我正在开发一个简单的应用程序,可以帮助你跟踪卡路里、碳水化合物、蛋白质等。你可以从食物及其价值的基本列表开始,也可以添加你自己的食物。
例如:一个苹果有x cals,y碳水化合物,z蛋白质等。牛排有3x cals,3y碳水化合物,3z蛋白质等等。
我更希望当应用程序第一次加载时,它不需要经历核心数据从pList或SQL文件构建食物的初始数据库的过程。
有没有一种方法可以用CoreData预先构建一个数据库,这样用户的iPhone就不需要做这项工作了?
Objective C是我的第一语言,我从来没有学过SQL。我在CoreData上工作过的所有示例都涉及到通过与用户界面交互来创建数据库。必须有一种方法来管理预建的数据库。是否有术语来区分这两种类型的数据库(在运行时创建的数据库和在运行前创建的数据库)?
谢谢。
-A
发布于 2011-01-09 05:00:49
如果我没有理解错你的问题,目前你有一个数据转储,你在你的应用程序的第一次运行时解析,并放入核心数据。这需要一些时间,而你希望在你的应用程序中预先加载这些信息(不需要解析它)。
如果是这样的话,这里有一个关于预加载核心数据的合理教程:http://www.raywenderlich.com/980/core-data-tutorial-how-to-preloadimport-existing-data
请注意,您需要了解一些SQL。
发布于 2011-01-09 05:38:56
可以--您可以将预先构建的数据库包含到应用程序包中,并将其上传到AppStore。但是,由于您的AppBundle有校验和,设备会检查这些校验和以确保应用程序没有被修改-您不能以这种形式对数据库进行修改。
因此,解决方案是将预先构建的数据库包含到您的应用程序捆绑包中,当用户下载您的应用程序并第一次启动它时,您可以将预先构建的数据库复制到applications Documents或Applications Support文件夹中,您可以在该文件夹中进行更改。
希望这能有所帮助。
https://stackoverflow.com/questions/4636080
复制相似问题