以图形方式将对象添加到 Core Data

Posted

技术标签:

【中文标题】以图形方式将对象添加到 Core Data【英文标题】:Adding objects to Core Data graphically 【发布时间】:2011-06-24 23:07:47 【问题描述】:

我对使用 Core Data 很陌生,所以我想问一下我如何以图形方式将项目添加到我正在制作的数据库中。图形化的意思是像在 Navicat 中一样,我可以用编辑器编辑东西。

【问题讨论】:

请编辑您的问题以阐明“图形化”的含义。如果您正在寻找“开箱即用”的应用程序,则在运行时没有拖放实体管理。 【参考方案1】:

Core Data 是一个提供对象持久性的面向对象的框架,而不是一个可视化的数据库编辑器。 Xcode 包含一个用于创建和编辑 Core Data 模型的可视化工具,它类似于数据库模式,但没有用于管理或操作模型描述的数据的可视化工具。理解核心数据可能需要一点时间;我建议从Apple's Core Data Tutorial for ios 开始。

【讨论】:

我的应用程序包含许多必须显示的项目,它们将被预先填充,您是否仍然推荐核心数据或其他内容? 我不建议基于预先填充的数据要求来反对 Core Data —— Core Data 可以正常工作。但是,您需要想出一种输入数据的方法。您可能会寻找第三方工具(如建议的 here 或只是编写自己的工具 - 如果您只是创建一个小 MacOS X 应用程序供自己使用,它不必花哨或复杂。跨度> 【参考方案2】:

图形上的术语可能不清楚。当您开始使用核心数据创建模型时,您需要从项目资源(类型为 .xcdatamodel)中选择一个数据模型,当您选择它时,它将为您打开一个模型编辑器。您可以创建尽可能多的实体、相关属性并建立关系。希望这会对你有所帮助。

~马诺杰。

【讨论】:

我的意思是,如果我创建了一个名为 item 的实体,如何将更多项目添加到我的数据库中? 您的应用程序通过调用 Core Data API 中的适当方法来实现这一点。如果您想预先填充数据存储以与您的应用一起发布,只需编写一个小实用程序即可。 那么我可以写一个mac应用程序并以某种方式从文件夹中复制数据库文件吗?【参考方案3】:

如果您只需要实例化一个新实体并将其添加到您的数据存储中,您将使用NSEntityDescription 上的方法insertNewObjectForEntityForName 来创建您的实体的一个新实例并将其插入到您的上下文中。您必须在上下文中调用 saveChanges 才能将该新实体持久保存到您的数据存储中。 Core Data 是一个非常强大的框架,但它不是大多数开发人员可以盲目使用的东西。阅读Core Data guide,下载一些示例代码,您很快就会上瘾。

【讨论】:

以上是关于以图形方式将对象添加到 Core Data的主要内容,如果未能解决你的问题,请参考以下文章

将 `lastModified` 记录添加到 Core Data 托管对象

iPhone Core Data 对象添加到 NSMutableArray

将对象添加到 NSSet 时与 Core Data 的反比关系导致崩溃

以编程方式将文本注释添加到图形

将 google 对象保存到 Core Data - 以 NSException 错误类型的未捕获异常终止

如何使用 Core Data 设置 NSArrayController?