核心数据关系可以有多个目的地吗?

时间:2015-01-27 03:29:36

标签: ios objective-c iphone core-data

我有一个通用类,它有两个属性:name和objects。 objects属性可以有几种不同类型的自定义对象。

有没有办法在objects属性上设置多对多关系,以便它可以包含几种不同类型的对象?

我知道我可以使用NSArchiver和可转换类型,但我想知道是否还有另一种方式。

1 个答案:

答案 0 :(得分:1)

您可以与不同的子实体建立关系,因为对类实例的引用可以指向子类的实例。但与id一样,任何实例都不可能有关系。

重要提示:将Subentities建模到一个表中,使兄弟属性为空。这可能会导致一个非常大的表。

您可以使用两个属性(一个包含目标实体名称和一个类似id)处理您的情况,而不是使用二进制数据(如果它是一个组合关系,它不起作用)。当然,您需要额外的代码来解决这种关系。