Core data 将多个关系保存到核心数据时出错

Core data 将多个关系保存到核心数据时出错,core-data,ios5,Core Data,Ios5,我正试图了解核心数据,并试图实现一种小到多的关系,但我不断发现以下错误: 我有两个NSManagedObject类(组和联系人),它们是由Xcode的数据模型创建的,具有对多关系 @implementation Groups @dynamic groupId; @dynamic groupName; @dynamic groupContacts; @end @implementation Contacts @dynamic firstName; @dynamic lastName; @dyna

我正试图了解核心数据,并试图实现一种小到多的关系,但我不断发现以下错误:

我有两个NSManagedObject类(组和联系人),它们是由Xcode的数据模型创建的,具有对多关系

@implementation Groups
@dynamic groupId;
@dynamic groupName;
@dynamic groupContacts;
@end

@implementation Contacts
@dynamic firstName;
@dynamic lastName;
@dynamic userId;
@dynamic belongsToGroup;
我将联系人数据作为一组字典,我正在执行以下操作:

self.localGroup = [NSEntityDescription insertNewObjectForEntityForName:@"Groups" inManagedObjectContext:self.scratchPadContext];
self.localGroup.groupName = @"Some Name";

    for (int i = 0; i < [self.ContactsData count]; i++) {
        Contacts *contact = [NSEntityDescription insertNewObjectForEntityForName:@"Contacts" inManagedObjectContext:self.scratchPadContext];        
        NSDictionary *obj = (NSDictionary *)[self.ContactsData objectAtIndex:i];

        contact.firstName = [obj valueForKey:@"firstName"];
        contact.userId = [obj valueForKey:@"email"];

        [self.localGroup addGroupContactsObject:contact];
    }

    if (![self.scratchPadContext save:&error]) {
        NSLog(@"Errror saving Group ********************************* %@, %@", error, [error userInfo]);
    }
即使我使用的是一个MOC,我也会出现以下错误。我不明白错误在哪里。如果有人能解释一下,我将不胜感激

 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Illegal attempt to establish a relationship 'belongsToGroup' between objects in different contexts (source = <Contacts: 0x86926a0> (entity: Contacts; id: 0x8692700 <x-coredata:///Contacts/t2548922E-A0C6-4E3C-9760-3265954764E73> ;
***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“非法尝试在不同上下文中的对象之间建立关系”belongsToGroup”(源=(实体:联系人;id:0x8692700;

在将联系人添加到通话组之前,您是否尝试过保存
scratchPadContext
(也就是说,创建
localGroup
对象,保存上下文,然后添加联系人,然后再次保存上下文?从错误消息中可以看出,核心数据在发送必要的插入之前,正在向永久存储发送update语句,因此它可能会被绊倒,因为您正在向永久存储写入新的内容的两端-同时与永久存储有许多关系。

有人吗?我已经在这方面纠缠了好几天了……如果能给我一些建议,我将不胜感激!!!我需要看看你是如何创建托管对象上下文等。
 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Illegal attempt to establish a relationship 'belongsToGroup' between objects in different contexts (source = <Contacts: 0x86926a0> (entity: Contacts; id: 0x8692700 <x-coredata:///Contacts/t2548922E-A0C6-4E3C-9760-3265954764E73> ;