我目前正在开发使用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]
我现在想要获取不同位置的数量,这可能吗?
非常感谢
罗伯特
答案 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.