【发布时间】:2010-09-13 01:08:31
【问题描述】:
如果我有一个名为“Book”的 CoreData 实体,它与另一个实体(“Bookmark”)具有一对一的关系,我是否需要同时插入一个“Book”实例和一个将“书签”添加到托管对象上下文中,并手动分配关系?
如果我执行以下代码来实例化 'Book' 的实例...
Book *book = [NSEntityDescription insertNewObjectForEntityForName:@"Book" inManagedObjectContext:managedObjectContext];
我是否可以执行以下代码来检索其书签而不将“书签”的实例插入到相同的托管对象上下文中?
book.bookmark;
CoreData 会为我分配一个新的“书签”实例吗?
在你让我试试这个并亲自看看之前:我有。我要么做错了,要么我打算实例化'Book'和'Bookmark'的两个实例并手动分配关系。在我的测试中,该关系具有“可选”未勾选,但未附加任何内容。在 'book' 实例上调用 getter 'bookmark' 时,我收到 'nil'。
我希望能够使用上面的代码,因为它允许我的控制器对象处理托管对象上下文,而我的模型对象可以完全忽略它。根据我对 CoreData 的阅读,这似乎是预期的实现。如果我错了,请纠正我。
【问题讨论】:
标签: iphone objective-c core-data ios relationship