Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我如何在核心数据中建模团队、比赛和主客场团队关系?_Ios_Xcode_Core Data - Fatal编程技术网

Ios 我如何在核心数据中建模团队、比赛和主客场团队关系?

Ios 我如何在核心数据中建模团队、比赛和主客场团队关系?,ios,xcode,core-data,Ios,Xcode,Core Data,我试图用核心数据来代表一个体育联盟的时间表。在我的模型中,我有一个称为团队的实体和一个称为游戏的实体。每个队都有很多比赛。每场比赛将有两支球队,一支是主队,另一支是客队 在我目前的方法中,我定义了游戏实体中的“homeTeam”和“awayTeam”关系。这些关系中的每一个都指向一个,并将其目的地设置为团队实体。我还定义了团队实体中的多对多“游戏”关系,其目的地设置为游戏实体 这种方法的问题是,我无法以任何适当的方式设置反向关系。它要求团队/游戏关系与游戏/主队和游戏/awayTeam关系相反,

我试图用核心数据来代表一个体育联盟的时间表。在我的模型中,我有一个称为团队的实体和一个称为游戏的实体。每个队都有很多比赛。每场比赛将有两支球队,一支是主队,另一支是客队

在我目前的方法中,我定义了游戏实体中的“homeTeam”和“awayTeam”关系。这些关系中的每一个都指向一个,并将其目的地设置为团队实体。我还定义了团队实体中的多对多“游戏”关系,其目的地设置为游戏实体

这种方法的问题是,我无法以任何适当的方式设置反向关系。它要求团队/游戏关系与游戏/主队和游戏/awayTeam关系相反,这是不允许的(据我所知)。我当然可以将它们定义为单向关系,但我开始收到Xcode警告,我不确定这是否是一件好事

我还考虑过从游戏实体中删除awayTeam和homeTeam关系,并将其替换为团队关系。该关系将是团队的多对多关系,最小值和最大值为2。然而,这种方法不允许我区分主队和客队,我需要在我的应用程序中这样做


我希望您能推荐在CoreData中表示此类关系的最佳方法。毫无疑问,我可以自己使用自己的DB层来实现这一点,但我宁愿依赖CoreData,也不愿在这里提出一个自己开发的解决方案。

我将这样做:

Game
有两种一对一的关系,
homeTeam
guestTeam

团队
有两种一对多关系,
家庭游戏
户外游戏
homeGames
的反比是
homeTeam
outGames
的反比是
guestTeam


有意义吗?

以下是我的做法:

Game
有两种一对一的关系,
homeTeam
guestTeam

团队
有两种一对多关系,
家庭游戏
户外游戏
homeGames
的反比是
homeTeam
outGames
的反比是
guestTeam


有道理吗?

谢谢Mundi-我没有想到这一点,这确实有道理。对于这种方法,我有一个问题:是否有一种简单的方法来获取一个团队所有游戏的有序列表?当我与团队实体有一个“游戏”关系时,我计划实现一个获取请求,返回按日期订购的所有游戏。我不确定现在所有游戏都跨越一个集合或家庭游戏以及一个单独的客场游戏集合,这有多容易。最简单的方法是将所有家庭游戏和户外游戏作为Game类型的对象获取,然后以编程方式使用date属性对数组进行排序。有几十张或更少的唱片,这应该不是问题。谢谢-我会试试的。我还在试验一个fetch请求,该请求返回与两个表达式中的“任意”匹配的所有游戏。第一个表达式查找与指定为参数的球队匹配的主队,第二个表达式查找与之匹配的客场球队。感谢Mundi-我没有想到这一点,它确实有一定的意义。对于这种方法,我有一个问题:是否有一种简单的方法来获取一个团队所有游戏的有序列表?当我与团队实体有一个“游戏”关系时,我计划实现一个获取请求,返回按日期订购的所有游戏。我不确定现在所有游戏都跨越一个集合或家庭游戏以及一个单独的客场游戏集合,这有多容易。最简单的方法是将所有家庭游戏和户外游戏作为Game类型的对象获取,然后以编程方式使用date属性对数组进行排序。有几十张或更少的唱片,这应该不是问题。谢谢-我会试试的。我还在试验一个fetch请求,该请求返回与两个表达式中的“任意”匹配的所有游戏。第一个表达式查找与指定为参数的球队匹配的主队,第二个表达式查找匹配的客队。