需要核心数据模型设计建议

时间:2013-07-05 04:12:16

标签: core-data

我有三种类型的图像 - 常规,喜爱和删除。所以我在CoreData模型设计器中创建了三个实体。我可以创建继承,但是常规图像会一直被清除,如果其他两种类型继承它们,它们也会被清除,这对我来说是无效的行为(显然)。同时这些模型非常相似。我想要的是他们有共同的父母,其中包含下载和保存在缓存中的方法。我怎样才能在CoreData中实现这个目标?

1 个答案:

答案 0 :(得分:-1)

我已经弄清楚了。您可以使用类创建任何继承层次结构(根对象必须继承NSManagedObject)。实体的继承是这里的另一个主题。只需将实体名称设置为所需的类名,该实体将存储该类的数据。简单而聪明的行为! F.E.您的课程A包含属性a1a2以及方法foo。以及Bb1的课程b2。您希望将它们存储在不同的表中,但希望B继承Aa1a2并且能够调用foo。您可以使用提到的属性和方法创建类A : NSManagedObject,然后使用动态属性B : Ab1创建b2。这就是你的所有代码。现在创建两个模型:A包含a1a2属性,B包含a1a2b1和{{ 1}}属性。此处不需要来自b2的实体继承B。如果您不将Aa1属性添加到a2实体,则这些属性将在您的代码中可见,但会引发运行时“无法识别的选择器”异常。希望这能帮助CoreData中的一些新手。