0

我有两个实体ABAB有一对多的关系。现在我想使用NSFetchResultController来获取实体B.如果实体A有多个B,则在提取时应该只有一个B。有人可以告诉我如何使用谓词来获取?提前致谢。使用NSFetchResultController对子对父实体的谓词

+0

你能解释一下你的需求吗?你需要使用FRC而不是直接获取?如果是这样,为什么?为什么你只需要每个A有一个B?如果一个给定的A有多个B,那么你需要包含哪个B? – pbasdf

+0

我必须使用FRC。如果给定A有多个B,则包含具有最新创建日期(属性)的B. –

+0

您是否需要FRC提供章节(即,您是否使用sectionNameKeyPath)? – pbasdf

回答

0

你不能用FRC做到这一点。即使你能做到,模型改变时也不会正确执行更新通知,因此无论如何都毫无意义。

所以,你要么必须

一)提取,过滤器和手动排序,让您的源数据。你可以观察NSManagedObjectContextObjectsDidChangeNotification知道什么时候刷新。

b)将此信息缓存到一个单独的属性中,以便FRC可访问该属性。即B需要独立地知道是否应该显示。