如何存储两个coredata记录之间的“关系”?

时间:2010-12-09 07:09:47

标签: iphone core-data relationships

我有两个实体:匹配和玩家,我已经设置了一个中间表匹配玩家,因为玩家可以玩多个匹配,并且匹配将有多个玩家。我有意见,我可以分别添加,修改和删除匹配和玩家,但我很困惑如何填充matchplayer实体。我已经设置了matchplayer实体,没有属性,但与match和player实体有关系。

我有一个管理比赛细节的视图,并从那里加载所有球员的桌面视图,我可以选择我想要“连接”到比赛的球员。但那就是我陷入困境的地方。我将如何添加到matchplayer实体以存储关系?

1 个答案:

答案 0 :(得分:0)

您不需要创建一个单独的实体来维持关系 你可以做的是你保持从匹配实体到玩家实体的许多关系 假设关系为playerInMatch的名称。现在,您在匹配实体中插入的每个匹配的managedObjectContext,您可以使用addPlayerInMatch:方法将多个播放器插入此managedObjectContext(即在创建模态类时自动生成的访问器方法)。
现在在特定比赛的回归期间,您可以通过其关系来回溯该比赛的一组完整球员。如果您愿意,可以删除或添加任何球员到该组。
(我已经简要地向您解释了希望您对使用核心数据关系有清楚理解的想法。如果您对核心数据不太清楚,请查看以下教程:
http://cocoadevcentral.com/articles/000085.php