在我的应用中,我有两个实体,Page和Annotation。在我的核心数据模型中,它们具有一对多的关系:Page <-->> Annotation
。
我正在获取Annotation对象,因为我需要应用某些谓词,但最终想要获得一组与谓词匹配的唯一一组与谓词匹配的页面。
如何获取一组与fetch返回的Annotations有关系的唯一Page对象?是否有可能在一次获取中执行此操作?我用NSDictionaryResultType
尝试了一些事情,但是出现了错误,最终,我想要的是对象,而不是值。
答案 0 :(得分:7)
您不想使用NSDictionaryResultType
,因为它不会返回对象。您想要做的是在检索到Annotation
个实例后使用KVC:
NSArray *results = ...; //Your fetch of Annotation objects
NSArray *uniquePages = [results valueForKeyPath:@"@distinctUnionOfObjects.page"];
uniquePages
数组将包含Page
个实例的唯一集合。