iphone核心数据和实体继承

时间:2010-12-27 18:14:24

标签: iphone core-data

这是一个两部分问题,这是情况:

我有一个列出一组产品型号的应用。用户应该能够从该列表中选择他们特别拥有的产品型号。他们可以拥有1种以上相同类型的产品,并且还应该能够为他们拥有的产品设置自定义名称。所以我用两个实体设置我的数据模型。产品和OwnedProduct。 OwnedProduct继承自Product实体并添加customName属性。

问题1:这是实施模型的最佳方式还是我应该用关系做些什么?现在我没有任何关系。

下一个问题涉及实际从用户选择的某个产品创建OwnedProduct记录。

问题2:有没有办法获取所选的Product对象,复制它,然后将其转换为OwnedProduct?或者我是否必须创建一个全新的OwnedProduct实例,然后从Product实例的属性中手动分配它的所有属性?

1 个答案:

答案 0 :(得分:2)

  

问题1:这是实施模型的最佳方式还是应该与关系做些什么?现在我没有任何关系。

您是否计划在同一上下文中拥有多个所有者?

单个产品是否可以由具有不同自定义名称的不同所有者拥有?

如果是,我会看一下人际关系。由于所有权,我不会复制产品。如果产品发生变化,可能会对所有业主进行更改。

符合您要求的可能数据模型: product ownership datamodel, three entities: Product, ProductOwnership and Owner

  

问题2:有没有办法获取所选的Product对象,复制它,然后将其转换为OwnedProduct?或者我是否必须创建一个全新的OwnedProduct实例,然后从Product实例的属性中手动分配它的所有属性?

由于克隆将是您上下文中的单独实例,因此您必须创建一个新实例并复制所有必需的属性。您可以通过迭代NSEntityDescription属性和关系来加快速度。在SO

上已经有solution来克隆NSManagedObjects
相关问题