假设您有几个 Core Data 实体.. Student 和 Exam。这两个最初填充了从网络下载的两个 xml 文件的数据。
现在,Students 和 Exams 是分开的东西……最初它们之间没有联系。但是在填写完这两个实体后,我可能想将某些学生与某些考试联系起来。或者我可能想让所有学生参加特定的考试。但我仍然希望能够将考试视为独立的事物,可能没有学生联系。
我不确定如何使用 Core Data 执行此操作。在数据模型中,您要么有关系,要么没有。我是否应该有两个不同的考试实体...一个用于独立考试,另一个与学生相关,可以从另一个考试实体建立?
最佳答案
不,你不应该创建两个实体类型。
仅仅因为你在两种实体之间有关系并不意味着你不能创建一个没有这种关系的对象。
因此,假设您在 Student
和 Exam
之间存在多对多关系,您可以通过执行以下操作来创建新考试:
Exam *newExam = [NSEntityDescription
insertNewObjectForEntityForName:@"Exam"
inManagedObjectContext:context];
newExam.course = @"CS 101";
newExam.description = @"Midterm";
您稍后可能会在学生和考试之间建立关系,例如:
[newExam.students addObject:aStudent];
(其中 students
是 Exam
和 Student
之间关系的名称
关于iphone - 用数据填充实体后创建核心数据关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4300236/