【发布时间】:2010-08-29 22:49:37
【问题描述】:
任何人有一个核心数据关系教程的链接,用于基本的创建、检索、更新、删除类型操作?
我设置了两个实体,实体 A 和实体 B。
我在 A 和 B 之间建立了关系和反向关系。
A 可以有很多 B。 B 只能有一个 A。
基本上我需要做的任务:
1) 将 B 添加到 A 时,我需要确定 A 中是否不存在 B(我该如何测试?) 2)如何创建B,然后保存到A?
TIA
【问题讨论】:
任何人有一个核心数据关系教程的链接,用于基本的创建、检索、更新、删除类型操作?
我设置了两个实体,实体 A 和实体 B。
我在 A 和 B 之间建立了关系和反向关系。
A 可以有很多 B。 B 只能有一个 A。
基本上我需要做的任务:
1) 将 B 添加到 A 时,我需要确定 A 中是否不存在 B(我该如何测试?) 2)如何创建B,然后保存到A?
TIA
【问题讨论】:
你可能在 A 中有一个 NSSet*,但在 B 中有一个 A* 属性。(A 有很多 B,B 有一个 A)。
A* a = [NSEntityDescription insertNewObjectForEntityForName:@"A" inManagedObjectContext:moc];
B* b = [NSEntityDescription insertNewObjectForEntityForName:@"B" inManagedObjectContext:moc];
B.hasA = A;
当您将 B 添加到 A 时,关系存储在一个集合中。根据定义,您在 A 中只有一个 B 实例。我认为您无需担心确保它不存在。如果您愿意,您可以获取所有实体 B,其中谓词的一部分是“hasA = A”,第二部分将检查唯一标识您的 B 对象的东西,例如唯一键。
您会发现 Core Data 负责关系的另一端,即将 B 添加到 A 的 NSSet。
【讨论】: