Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.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_Core Data_Database Design_Entity Relationship - Fatal编程技术网

Ios 依赖关系的核心数据属性

Ios 依赖关系的核心数据属性,ios,core-data,database-design,entity-relationship,Ios,Core Data,Database Design,Entity Relationship,我正在尝试将有序数组对象添加到CoreData设置中,我知道您不能这样做,因为NSSet是无序的,我知道实现这一点的最简单方法是向集合中的实体添加一个属性,该属性可用于在获取集合后对集合进行排序。然而,这是我的设置遇到问题的地方,它有点复杂: 我有资格:板球运动员和板球队。。。用户可以创建一个CricketTeam对象,该对象具有表示击球阵容的CricketPlayer的有序数组。当我下次检索此列表时,我希望该列表以创建团队时设置的相同顺序呈现给用户。。。唯一的问题是在我的应用程序中-现实生活中

我正在尝试将有序数组对象添加到CoreData设置中,我知道您不能这样做,因为NSSet是无序的,我知道实现这一点的最简单方法是向集合中的实体添加一个属性,该属性可用于在获取集合后对集合进行排序。然而,这是我的设置遇到问题的地方,它有点复杂:

我有资格:
板球运动员
板球队
。。。用户可以创建一个
CricketTeam
对象,该对象具有表示击球阵容的
CricketPlayer
的有序数组。当我下次检索此列表时,我希望该列表以创建团队时设置的相同顺序呈现给用户。。。唯一的问题是在我的应用程序中-现实生活中也是如此一名球员可以为多个球队比赛,因此如果我在
板球运动员
上设置一个属性,比如:
击球手编号
,虽然这将使我能够重新创建击球阵容,但如果我创建另一支球队,让同一名球员在不同的位置击球,我将破坏原有球队的击球阵容


因此,我想做的是创建一个“伪关系”,它不是与另一个CoreData实体的关系,而是实体上的一个属性,这取决于它在哪个实体中使用。。。所以在我的例子中,我想要一个
CricketPlayer
实体上的属性,它表示特定
CricketTeam
中的击球数,如果这有任何意义的话

您还需要一些实体。我假设一名球员可以为一支球队踢多次比赛,即在一场以上的比赛中,在击球阵容中以不同的顺序。因此,您需要一个连接板球队的比赛实体,并记录该特定比赛队的击球顺序

匹配 HomeTeamID 阿瓦泰米德

团队 TeamID 团队名称

玩家 PlayerID 玩家名称

PlayerTeam PlayerID TeamID

匹配板条顺序 火柴 PlayerID TeamID 板条顺序


这太简单了!这是一个数据建模问题

难道你不能使用一个有序的关系吗?哦哦哦,显然我可以,这在我做的课程中没有涉及到哈哈!Cheers我已经有了一个比赛实体,所以如果我在我的设置中添加了一个击球顺序实体,我就可以与主队阵容和AwardetamLineup的CricketMatch建立关系,这两个都是击球顺序实体,并在每个阵容中存储一组板球运动员?你不需要单独的主队阵容和AwardetamLineup。TeamID存储在MatchingBattingOrder中,因此在匹配时按BattingOrder witin TeamID筛选该表。然后,你将有两个列表,按照正确的击球顺序,每队一个。将其连接到团队表(两次)以获取团队名称,并连接到球员实体以获取球员名称。您需要考虑在哪里存储结果!事实上,MatchingOrder可能是存储每场比赛的个人结果的地方。每场比赛中,每个球员都在场,所以你可以为他们的击球得分、边门得分、出局情况列一栏。但你需要考虑如何应对2局比赛,在哪里存放投球手拿走的球门,以及如何处理等等。这是一个会越来越大的问题,但听起来像是一个有趣的问题需要解决。是的,这证明是相当具有挑战性的哈哈!但我期待着把这一切都解决掉!:)