我有三种类型的图像 - 常规的、最喜欢的和已丢弃的。所以我在 CoreData 模型设计器中创建了三个实体。我可以创建继承,但常规图像一直被清除,如果其他 2 种类型从它继承,它们也会被清除,这对我来说是无效的行为(显然)。同时,这些模型非常相似。我想要的是它们有共同的父级,其中包含下载并将它们保存在缓存中的方法。如何在 CoreData 中实现这一点?
问问题
54 次
1 回答
-1
我已经想通了。您可以使用您的类创建任何继承层次结构(根对象必须继承 NSManagedObject)。实体的继承是这里的另一个主题。只需将实体名称设置为所需的类名,该实体就会存储该类的数据。简单而聪明的行为!你有A
带属性a1
和a2
方法的类foo
。B
与b1
和类b2
。您想将它们存储在不同的表中,但希望B
继承A
拥有a1
并且a2
能够调用foo
. A : NSManagedObject
您使用提到的属性和方法创建类,然后B : A
使用动态属性b1
和b2
. 这就是你的所有代码。现在创建 2 个模型A
:a1
和a2
属性 和, B
,a1
和a2
属性。这里不需要实体继承。如果您不向实体添加和属性,这些属性将在您的代码中可见,但会引发运行时“无法识别的选择器”异常。希望这将有助于 CoreData 中的一些新手。b1
b2
B
A
a1
a2
B
于 2013-07-05T06:56:23.543 回答