在获取结果的关系结束时获取唯一对象

时间:2015-07-01 14:19:08

标签: ios core-data

在我的应用中,我有两个实体,Page和Annotation。在我的核心数据模型中,它们具有一对多的关系:Page <-->> Annotation

我正在获取Annotation对象,因为我需要应用某些谓词,但最终想要获得一组与谓词匹配的唯一一组与谓词匹配的页面。

如何获取一组与fetch返回的Annotations有关系的唯一Page对象?是否有可能在一次获取中执行此操作?我用NSDictionaryResultType尝试了一些事情,但是出现了错误,最终,我想要的是对象,而不是值。

1 个答案:

答案 0 :(得分:7)

您不想使用NSDictionaryResultType,因为它不会返回对象。您想要做的是在检索到Annotation个实例后使用KVC:

NSArray *results = ...; //Your fetch of Annotation objects
NSArray *uniquePages = [results valueForKeyPath:@"@distinctUnionOfObjects.page"];

uniquePages数组将包含Page个实例的唯一集合。