【问题标题】:Core Data: Returning to a Previously Inserted Managed Object核心数据:返回之前插入的托管对象
【发布时间】:2011-03-03 09:05:07
【问题描述】:
我有以下型号:
Doctor <-->> Case <->> Report
一个医生有很多病例,但一个病例只有一个医生。一个 Case 可以有多个 Reports
我成功生成了代表我的模型的类,并且我插入了一位医生,一例一报告。
如何返回此医生并关联另一个案例和相同的报告?
一对多核心数据插入和显示的任何示例。
最好的问候
【问题讨论】:
标签:
iphone
objective-c
core-data
nsmanagedobject
【解决方案1】:
当您插入一个托管对象时,您会得到一个指向该对象的指针。假设你有一个 Doctor 的 NSManagedObject 子类,你会像这样创建一个新的 Doctor 对象:
Doctor *newDoc=[NSEntityDescription insertNewObjectForEntityForName:@"Doctor"
inManagedObjectContext:myManagedObjectContext];
newDoc 现在是指向Doctor 对象的指针,您可以像对待任何其他对象一样对待它。您可以以任何您喜欢的方式保留对它的引用,例如实例属性、数组、集合等。然后您可以检索它并添加新的 Case 对象,如下所示:
[newDoc addCaseObject:aNewCase];
...在案例中添加报告也是如此。这些方法在自动生成的子类中定义。