iphone - 用数据填充实体后创建核心数据关系

标签 iphone objective-c core-data ios entity

假设您有几个 Core Data 实体.. Student 和 Exam。这两个最初填充了从网络下载的两个 xml 文件的数据。

现在,Students 和 Exams 是分开的东西……最初它们之间没有联系。但是在填写完这两个实体后,我可能想将某些学生与某些考试联系起来。或者我可能想让所有学生参加特定的考试。但我仍然希望能够将考试视为独立的事物,可能没有学生联系。

我不确定如何使用 Core Data 执行此操作。在数据模型中,您要么有关系,要么没有。我是否应该有两个不同的考试实体...一个用于独立考试,另一个与学生相关,可以从另一个考试实体建立?

最佳答案

不,你不应该创建两个实体类型。

仅仅因为你在两种实体之间有关系并不意味着你不能创建一个没有这种关系的对象。

因此,假设您在 StudentExam 之间存在多对多关系,您可以通过执行以下操作来创建新考试:

Exam *newExam = [NSEntityDescription
     insertNewObjectForEntityForName:@"Exam"
     inManagedObjectContext:context];
newExam.course = @"CS 101";
newExam.description = @"Midterm";

您稍后可能会在学生和考试之间建立关系,例如:

[newExam.students addObject:aStudent];

(其中 studentsExamStudent 之间关系的名称

关于iphone - 用数据填充实体后创建核心数据关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4300236/

相关文章:

iphone - 调用AudioServicesPlaySystemSound时出现2个错误?

ios - 使用 Device token 或 Apple ID 进行应用内购买

iphone - ios : crashing after including coredata to old project

iphone - 向 NSFetchedResultsController 添加额外的部分

objective-c - 我如何将焦点转移到 Cocoa 中的先前应用程序?

core-data - UIManagedDocument 的迁移问题

iphone - 为什么 NSMutableArray 没有显示在 UITableView 中?

iphone - 直接链接到 native Facebook 应用程序 (iOS6) 中的页面

iphone - BluetoothManager 框架通知列表

html - 使用 Objective-C 将 HTML 文本转换为纯文本