【发布时间】:2011-12-08 18:43:56
【问题描述】:
我有一个抽象实体 A,我还有两个实体,它们的父实体是实体 A。 每个孩子与其他实体的关系不同。
我正在尝试获取实体 A 的所有子实体,其 isPublic 布尔值为 YES。
过去,我在获取子类实体时遇到了与获取相关的问题,我确信我只是没有正确执行。
所以我们可以说例如: • 实体 A 是“文档”, • 实体 B 是“诗”, • 实体 C 是“物品”
所有诗歌和文章都是文档的子类,并且文档有一个名为 isBookmarked 的属性,用户可以为一首诗歌或文章添加书签,我需要一种获取所有已添加书签的文档的方法。实体 B 和 C 需要独立,因为它们拥有其他关系。
我想使用 NSFetchedResultsController 来获得最佳 Core Data 和 UITableView 性能,但我正在努力获取诗歌和文章的组合。
什么获取请求会给我带来诗歌和文章的混合?
【问题讨论】:
-
虽然子类化 NSManagedObject 是例行公事,但我从未听说过依次子类化 that 实体——至少在我有限的经验中没有。你真的需要这样做吗?难道你不能只有一个实体 Document,它有一个属性来识别文档的类型(比如一个 int,1 代表文章,2 代表诗歌,3 代表小说等)以及与其他文件的多对多关系,代表书签?然后,您的 fetchRequest 谓词可以根据 int 属性指定您想要的文档类型。
-
是的,我需要一个单独的实体,因为我与每个子实体都有关系,例如,注释可能引用用户,但文章可能引用新机构,而不是作者...只是一个例子
-
好吧,这里有一个建议可以做到的帖子,还有一些提示:[stackoverflow.com/questions/4508451/….
标签: ios cocoa-touch core-data