核心数据 - 谓词获取类别

时间:2012-10-31 12:24:52

标签: core-data ios6 fetch predicate

我目前正在开发使用Core Data的应用。我正在处理的问题是带谓词的获取数据,如下所示:

[[self managedObjectContext] fetchObjectsForEntityName:@"Employee" withPredicate:
@"(lastName LIKE[c] 'Worsley') AND (salary > %@)", minimumSalary];

我想要做的是从某个数据集中获取不同类别的数量,如下所示:

实体人:

-Name(String)

-Location(String)

-Age(Int)

因此,例如,如果我在数据集中有3个样本: [Lisa,Sweden,30] [Mike,USA,24] [Jacob,England,28]

我现在想要获取不同位置的数量,这可能吗?

非常感谢

罗伯特

1 个答案:

答案 0 :(得分:1)

在FetchResults控制器方法中,添加以下代码。

[fetchRequest setReturnsDistinctResults:YES];

[fetchRequest setResultType:NSDictionaryResultType];

[fetchRequest setPropertiesToFetch:[NSArray arrayWithObject:[entityProperties objectForKey:@"value"]]];

来自returnsDistinctResults的文档:

This value is only used if a value has been set for propertiesToFetch.

来自propertiesToFetch的文档:

This value is only used if resultType is set to NSDictionaryResultType.

来自resultType的文档:

The default value is NSManagedObjectResultType.