我正在尝试将新对象保存到我的上下文中,该对象将具有与数据库中已有对象的外键引用(多对多关系)。
如何设置此新对象的关系以将其保存到数据库?我尝试获取该对象,然后在关系中设置它,但是在保存为null的上下文时会导致错误。
我还尝试将其重新创建为一个新对象,认为核心数据不会创建新对象,只是添加关系,但它确实创建了新对象。
如何保存此对象?
答案 0 :(得分:1)
您必须在新对象的关系中设置对象,然后将为您设置反向关系。
因此,您需要弄清楚导致您看到错误的原因。
在从mogenerator生成的CoreData对象中,将单个对象添加到关系集的代码从对象属性访问可变集:
NSMutableSet *result = [self mutableSetValueForKey:@"rounds"];
然后,您可以将现有对象添加到该集合,并尝试保存新对象。
Alternatley,任何ManagedObject的CoreData都会生成一个方法:
- (void)addRoundsObject:(Round*)value_;
如果您使用该方法,它还应该正确添加对象。