我是Core Data的新手,我试验了一个设计问题。 假设我有两个实体:“产品”和“图像”。
Image实体有一个名为“type”的属性(normal,mini等...)。
我希望Product实体具有Image类型的属性,如:miniImageList,normalImageList等...但我真的不知道是否有可能使用XCode4图形编辑器,无法创建属性其类型是先前声明的实体。
我找到的唯一丑陋的解决方案是在Product和Image之间创建一个to-many关系。因此,我有一个NSSet生成,其中包含我想要的所有图像。这个解决方案的问题是我需要测试我想要的图像的类型(迷你,正常)等...这不是很方便。
如果你们中的任何人都知道如何解决这个问题,那么你们真的很受欢迎;)
希望我一直很清楚,谢谢你的阅读。
答案 0 :(得分:2)
我希望Product实体具有Image类型的属性,如:miniImageList,normalImageList等...但我真的不知道是否有可能使用XCode4图形编辑器,无法创建属性其类型是先前声明的实体。
为此,您需要创建关系。 “Image类型的属性”本质上是Product和Image之间的关系。
在您的情况下,更合适的解决方案是在Product和Image之间定义fetched properties。因此,可以使用您需要在图像集上应用的“过滤”将miniImageList和normalImageList定义为获取的属性。但是,获取属性的一个重要限制是它们不是动态的。您需要确保生成的Image NSArray的内容考虑到最新的Image实体添加/删除/修改。
答案 1 :(得分:0)
将不同的图像大小分隔为实体,或者展开Image实体以容纳不同大小的图形。
在这种情况下,我认为第二种方法是最好的。产品可以很容易地参考图像的内在性及其属性。