2

在 Core Data 中存储继承实体的正确方法是什么?假设我有一个 Shape 实体,它(是|可以是)抽象和相应的 Shape 类。形状有子实体/子类:圆形、矩形、三角形。

我需要把我所有的形状都放在 UITableView 中(可能在不同的部分,甚至没有)。

我应该如何存储所有这些形状?

  1. 作为 Shape 实体,然后在获取之后和添加到数据源数组之前将它们转换为具体的 Shape 子类
  2. 作为具体的形状实体,然后将它们全部获取并连接到一个数组中作为 UITableView 的数据源

我认为第一种方法是不可能的...

可能还有其他方法吗?

谢谢!

4

1 回答 1

4

您需要将 shape 声明为抽象实体,并将您的 Circle 和其他人声明为 Shape 的子实体。当您执行获取时,您可以在您的 NSFetchRequest 对象上使用 setIncludesSubentities: 来获取 Shape 和所有子实体(如果这是您想要做的,将它们放在一个数组中)。

于 2013-04-14T22:35:40.250 回答