具有另一个NSManagedObject类型的NSManagedObject属性

时间:2013-12-25 16:30:36

标签: core-data entity nsmanagedobject datamodel

我查看了SO,但奇怪的是没有找到类似的问题。 所以问题是:如果我有一个名为A的实体和一个名为B的实体,B对象是否可以具有类型A的属性?不是关系,而是财产。我当然可以使用关系作为属性,但在我的情况下,我需要一个A对象具有类型为A对象的属性。例如 实体称为人类。还有一个叫做儿童的属性,也是人类。

Human* parent=[Nsentity....bla bla
Human* child=parent.child;

有没有办法不使用可转换属性?我尝试了与自我的非反向关系,但它引发了一个警告,我就像害怕它毕竟会变得一团糟。在我的情况下,“父”和“孩子”可能是完全相同的对象。所以parent.child可能等于父

1 个答案:

答案 0 :(得分:2)

不能预防“自我”关系。

实体A可能与实体A或其任何后代(或任何其他实体)有关系(一对一或一对多)。< BR />

如此定义A(一对一关系):
父(反对A - &gt; child) 孩子(与逆A的关系 - &gt; parent))

你可能不希望这是一个属性,因为CoreData不会将它作为对象图的一部分(级联规则等)维护。