2010-03-14 139 views
0

我与Core Data在数据模型中有一对一的关系。我试图设定关系的价值,但核心数据一直认为它是零。 “创建者用户”关系是不是可选,所以当我去保存我的托管对象上下文时,核心数据会给出错误,因为它认为“creatorUser”为零。核心数据无关系

任何帮助将被极大地建议。

NSManagedObject *teamManagedObject = [NSEntityDescription insertNewObjectForEntityForName:@"DCTeam" inManagedObjectContext:_managedObjectContext]; 
// Creator Properties 
NSManagedObject *creator = [self userForID:[ticketInfo objectForKey:@"userid"]]; 
if (!creator) { 
    creator = [NSEntityDescription insertNewObjectForEntityForName:@"DCUser" inManagedObjectContext:_managedObjectContext]; 

    [creator setValue:[personInfo objectForKey:@"userid"] forKey:@"userid"]; 
    [creator setValue:[personInfo objectForKey:@"creatorName"] forKey:@"name"]; 
} 

[teamManagedObject setValue:creator forKey:@"creatorUser"]; 
+0

您可能需要发布对象图的图片,以便我们可以看到您的关系。你也可以像文本一样发布它:teamManagedObject.creatorUser - (optionalFlag,deleterule) - > creator。对一个人使用' - >',对于许多人使用' - >>'。 – TechZen 2010-03-14 18:31:46

+0

Dylan Copeland:请编辑您的问题以包含您收到的任何异常消息。 – 2010-03-14 19:56:08

+1

“多人”框是否已被选中? – nall 2010-03-14 20:19:22

回答

0

我得到的错误是'1570'。这就是说,一个非可选的关系是零。最后是正确的,这种关系应该是一对多的。这是我自己的一个疏忽,这就是为什么Core Data不喜欢配对关系。

感谢所有回复!