应用程序中的核心数据信息

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 上,以便将其包含在您应用的资源包中。

【讨论】:

以上是关于应用程序中的核心数据信息的主要内容,如果未能解决你的问题,请参考以下文章

核心数据和数据保护

UITableView 加载核心数据的问题

如何更改 asp.net 核心中的程序集信息?

核心位置 - 在 Swift 中追溯提取信息

物联网网关在应用中有哪些核心功能

预加载信息的核心数据