2012-04-14 162 views
0

我开始使用核心数据,并试图深入了解它如何在我的情况下工作。我正在构建一款iPad相册应用程序,该应用程序将允许用户根据关键字和与每张照片相关的其他一些属性过滤其结果。这些属性将是基本的东西,如方向和颜色与否。关键字将基于用户必须选择的一组定义的值。核心数据 - 对很多关系

这里是什么,我必须在核心数据模型至今一个大致的轮廓:
实体(属性):
照片(ID,标题,说明,文件路径)
关键词(ID,名称)

由于照片可以包含多个与其关联的关键字,我是否可以通过“照片”与“关键字”的目的地建立关系,并将其设置为多对多关系?这是正确的/疯狂的/完全错误的?我将如何去添加/获取关系的记录?

回答

1

这是正确的。有几种访问方法,但最直接的方法是生成NSManagedObject子类(编辑器 - >创建NSManagedObject子类...)。填充这些照片实体时,关键字关系将填充在名为关键字的属性中。

3

如果定义了关键字并且用户可以从定义的列表中选择它们,我就不会使用实体关键字。提示总是使用单数名称(照片,关键字)。我将关键字放在plist中,然后用户选择几个关键字,然后可以创建逗号分隔的字符串以保存为Photo上的属性。正如约瑟夫所说,你想子类化NSManagedObject,然后我会添加一个方法,接收一个字符串(关键字),并返回一个BOOL,指示该关键字是否是照片属性上的逗号分隔关键字值的一部分