Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Objective c 如何为CoreData中实体之间的相对分数建模_Objective C_Cocoa_Core Data_Orm_Entity Relationship - Fatal编程技术网

Objective c 如何为CoreData中实体之间的相对分数建模

Objective c 如何为CoreData中实体之间的相对分数建模,objective-c,cocoa,core-data,orm,entity-relationship,Objective C,Cocoa,Core Data,Orm,Entity Relationship,我是CoreData的新手,正在努力找出建立特定关系模型的正确方法。我有一个名为“Friend”的实体,它有一些属性,如“姓名”、“年龄”、“性别”等 我希望能够在两个朋友的例子之间建立一个分数模型,但我很难找到最好的方法 例如,对于3个名为A、B和C的朋友,可能会有这样的分数: A <-> B: 3 A <-> C: 2 B <-> C: 4 我想到的最好的方法是有一个带有“value”整数属性的“Score”实体和两个与“friendA”和“friend

我是CoreData的新手,正在努力找出建立特定关系模型的正确方法。我有一个名为“Friend”的实体,它有一些属性,如“姓名”、“年龄”、“性别”等

我希望能够在两个朋友的例子之间建立一个分数模型,但我很难找到最好的方法

例如,对于3个名为A、B和C的朋友,可能会有这样的分数:

A <-> B: 3
A <-> C: 2
B <-> C: 4
我想到的最好的方法是有一个带有“value”整数属性的“Score”实体和两个与“friendA”和“friendB”的关系——但是如果这是正确的方法,我应该如何在Friend实体上建模反向关系


非常感谢您的帮助

你对分数实体的想法是我所能想到的最好的,没有关于整个设计的更多细节。然而,反向关系非常简单

在朋友和分数之间建立多对多关系

在记分端,您将最小和最大计数设置为2

将好友端设置为“无最小值”和“无最大值”

这是假设朋友与分数之间的顺序并不重要。

你可以使用你的方法,通过朋友与分数之间的两对多关系(可能称为“scoresA”和“scoresB”)来创建反向关系

这与Marcus的建议略有不同,因为您必须组合这两个集合才能获得特定朋友的所有分数对象(如果您想查看特定分数对象是否与特定朋友关联,请检查这两个集合)


您所采用的方法应该是在应用程序中更容易使用的方法。然而,马库斯可能能够提供他的方法更好的原因,因为他确实写了一本关于核心数据的书。

我正在从事一个类似的项目,我一直在想一个有趣的方法来实现它,那就是有一个“游戏”实体,它与赢家有一对一的关系


我还需要学习的是如何显示对特定朋友的胜利计数。

谢谢马库斯-这非常有效。就我的问题而言,你假设关系中朋友的顺序不重要是正确的。
  A B C
A 0 3 2
B 3 0 4
C 2 4 0