结合两个 NSFetchedResultsController

Posted

技术标签:

【中文标题】结合两个 NSFetchedResultsController【英文标题】:Combine two NSFetchedResultsController 【发布时间】:2016-11-07 08:45:08 【问题描述】:

下午好!在我的项目中我使用Core Data,并且必须从两个Entity 中推断出来,但我无法弄清楚如何将第一个和第二个NSFetchedResultsController 的结果结合起来。您是否需要在一个单独的表中不分成多个部分。

【问题讨论】:

【参考方案1】:

创建一个抽象实体,您的两个实体都从该实体继承。

另外,如果您只显示一个UITableView,请不要使用两个NSFetchedResultsController,因为您将如何将两者结合起来?您将如何订购?

改为这样做:

例如,如果您想在NSFetchedResultsController 中显示Cars 和Motorcycles,您可以创建一个类Vehicle 并取而代之的是获取Vehicles。然后确保在 coredata-model 编辑器中将CarMotorcycleParent Entity 设置为Vechicle

编辑:这是一个暗示同样事情的答案(对于一般的获取请求,而不是具体NSFetchedResultControllerCore data: any way to fetch multiple entities?)

【讨论】:

这也使 sqlite DB 非规范化,正如@Floyd 在“核心数据:获取多个实体的任何方式”评论中提到的那样。 是的。我实际上有一个关于这个***.com/questions/40338492/…的问题

以上是关于结合两个 NSFetchedResultsController的主要内容,如果未能解决你的问题,请参考以下文章

为啥不能两次获取相同的数据? NSFetchedResultsController 为空

结合两个 SyndicationFeed

在 NSPredicate 中结合两个条件

结合两个可观察序列

Redshift 结合两个查询

结合两个 rdd - pyspark