核心数据:对象图问题

时间:2011-06-12 20:34:06

标签: iphone objective-c xcode ipad core-data

我的核心数据存在问题。这种情况会出现问题:

-I have two entities, for instance "Department" and "Employee". 
-A to-many relationship from "Department" to "Employee"

当我生成模型时,会生成两个类:“Department”和“Employee”。 “部门”类有一个员工的“NSSet”感谢多对子关系。

在代码中,我创建了两个“Department”实例(d1,d2)和一个“Employee”(e1)。 我希望e1实例可以在d1和d2中(通过关系)。所以我做了类似的事情:

[d1 addEmployeeObject:e1 ];
[d2 addEmployeeObject:e1 ];

问题在于,当我重新启动应用程序时,e1在d1中不再存在(仅在d2中)。似乎核心数据自动从d1中删除了e1。但我不想要那个!!!

根据核心数据documentation,它似乎是适当的行为(在上面的链接中读取操纵关系和对象图完整性章节)。

我该如何防止这种行为?有什么想法吗?

感谢阅读, 真的希望我已经清楚了。

1 个答案:

答案 0 :(得分:2)

建立一个名为Departments的反向关系,一个从Employee到Department的多对多关系。

将“Departments”的反面标记为“Employees”,其中“Employees”是从Department到Employee的to-many。

当您生成类时,您应该看到Department有一个NSSet *员工,而Employee有一个NSSet *部门。