使用 xcode 和 core-data 中的代码创建托管对象

Posted

技术标签:

【中文标题】使用 xcode 和 core-data 中的代码创建托管对象【英文标题】:creating managed objects using code in xcode & core-data 【发布时间】:2010-04-14 01:27:18 【问题描述】:

Objective-c xcode 和 core-data 的新手非常抱歉提出补救问题。

我已经建立了一个非常简单的数据模型:

Entity1 和 Entity2,都包含一个属性(字符串)和一个一对多的关系。

我想扫描 Entity1 并根据扫描结果创建一个或多个链接到 Entity1 的 Entity2 对象。

我该怎么做?我不明白如何在代码中创建 Entity2 类型的对象,以及如何定义与它们相关的 Entity1 对象的关系。

我来自 SQL 编程背景,在该背景下,使用相关 Entiry1 条目的 ID 将元素插入到 Entity2 表中很容易。我无法理解 xcode 核心数据抽象,希望能提供任何帮助。

【问题讨论】:

【参考方案1】:

只需使用-NSEntityDescription insertNewObjectForEntityForName: inManagedObjectContext: 创建一个“Entity2”对象,然后通过分配给该属性来建立“Entity1”和“Entity2”之间的关系。例如,如果 Entity2 有一个“父”属性,引用 Entity1,你可以这样做:

e2 = [NSEntityDescription
  insertNewObjectForEntityForName:@"Entity2"
  inManagedObjectContext:context];
e2.parent = e1; // this will create the relationship in both directions

【讨论】:

以上是关于使用 xcode 和 core-data 中的代码创建托管对象的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 上 Core-Data 中的字符串被截断

如何使用 core-data 存储一个值? (迅速 2)

如何在 Mac 和 iPhone 之间同步 Core-Data 应用程序?

在同一个数据库上同时使用 core-data 和基于 sqlite c 的 api

IOS/Core-Data:添加多对多关系

SwiftUI - Core-Data - 在这种特殊情况下访问包装的值