应用程序中的核心数据信息
Posted
技术标签:
【中文标题】应用程序中的核心数据信息【英文标题】:Core Data information in application 【发布时间】:2011-09-30 19:21:48 【问题描述】:我正在构建一个应用程序,其中内置了一些数据,这些数据包含在核心数据数据模型中。当我将应用程序运行到模拟器时,数据就在那里,一切都很好。 但是,当我将应用程序部署到设备(iPad)时,应用程序工作正常,除了没有数据。 似乎很简单,但似乎找不到开关或复选框或任何东西来告诉 xcode 将数据与模型一起部署。
更新:
建议的副本并没有真正帮助我。我不确定我是否完全理解需要做什么。我有带有初始数据集的 sqllite db,每次启动应用程序时是否需要将其加载到核心数据中?
另外,用户编辑/添加/删除的数据呢?
然后它会丢失还是允许保留在核心数据中?
【问题讨论】:
Core Data: Persistent Store Works in Xcode but not on Device 的可能重复项 类似的......但这并没有真正帮助我。我不确定我是否完全理解需要做什么。我有带有初始数据集的 sqllite db,每次启动应用程序时是否需要将其加载到核心数据中?另外,用户编辑/添加/删除的数据呢?然后它会丢失还是允许保留在核心数据中? 【参考方案1】:您需要做的是根据上面重复的问题准备一组初始数据。
数据库文件将与您的应用程序捆绑在一起。该位置 - 在主捆绑包中 - 将与部署位置不同。在我参与的项目中,我们使用应用程序文档目录作为部署位置。
所以,逻辑如下。在您的应用程序委托中,在didFinishLaunchingWithOptions
方法中,检查.sqlite
文件是否存在于您的应用程序文档目录中。如果它没有从您的主包中获取文件并将其复制到该位置。
从那时起,将该文件用于所有数据库操作。
这就是您在应用中包含预加载数据库的方式。
现在,首先创建预加载的数据库怎么样?为此,您应该在项目中创建另一个目标。该目标将基于数据模型创建数据库,并使用您的初始数据填充它。创建完成后,您应该将该文件拖放回 Xcode 上,以便将其包含在您应用的资源包中。
【讨论】:
以上是关于应用程序中的核心数据信息的主要内容,如果未能解决你的问题,请参考以下文章