核心数据:如何使用父实体构建数据模型

时间:2011-10-31 20:50:35

标签: ios core-data entity parent-child

我是一位长时间的倾听者,但是第一次来这里打电话......希望你能帮我解决一个核心数据问题!

我正在为iPad创建一个自定义商务应用,允许用户填写其业务中常用的合约。有四个合同,每个合同有20到40个数据字段,它们都是完全不同的,但是所有四个都有一些共同的(3-4)字段,例如创建日期和供应商名称等。

我需要在UITableView中显示所有合约(分组样式以显示不同类型),我需要能够选择单元格并显示详细视图,以便用户可以查看和修改数据具体合同。

我迄今为止的研究告诉我,我应该使用一个父实体(实体A)列出所有共同的属性,然后是子实体(实体B,C,D和E代表四个合同中的每一个)具有对它们唯一的属性,并从实体A继承其余部分。

这是构建此数据模型的最佳方法吗?请记住,当我创建合同的新实例时,它需要是一个独立的对象,其所有属性加上父级的属性。如果是这样,当我为tableView生成单元格时,我是否会获取实体A并希望其余部分也出现,或者我是否为每个合同类型执行单独的获取请求并以这种方式添加到表中?相反,如果我想创建一个合同的新实例(比如我的数据模型中的实体B),我该怎么做呢?

我希望我已经解释得那么好了。感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您应该使用公共字段创建一个抽象实体,并从那里继承您的不同合同类型。来自documentation

  

在模型中,实体可以排列在继承层次结构中,实体可以指定为抽象。

这也使您能够为所有合同定义常见行为,并使用代码中的抽象超类来引用任何合同。