使用NSFetchResultController对子对父实体的谓词
问题描述:
我有两个实体A
和B
。 A
与B
有一对多的关系。现在我想使用NSFetchResultController
来获取实体B.如果实体A
有多个B
,则在提取时应该只有一个B
。有人可以告诉我如何使用谓词来获取?提前致谢。使用NSFetchResultController对子对父实体的谓词
答
你不能用FRC做到这一点。即使你能做到,模型改变时也不会正确执行更新通知,因此无论如何都毫无意义。
所以,你要么必须
一)提取,过滤器和手动排序,让您的源数据。你可以观察NSManagedObjectContextObjectsDidChangeNotification
知道什么时候刷新。
b)将此信息缓存到一个单独的属性中,以便FRC可访问该属性。即B需要独立地知道是否应该显示。
你能解释一下你的需求吗?你需要使用FRC而不是直接获取?如果是这样,为什么?为什么你只需要每个A有一个B?如果一个给定的A有多个B,那么你需要包含哪个B? – pbasdf
我必须使用FRC。如果给定A有多个B,则包含具有最新创建日期(属性)的B. –
您是否需要FRC提供章节(即,您是否使用sectionNameKeyPath)? – pbasdf