0

如何通过请求检查特定属性来获取一组唯一的托管对象。

例如,一些人员对象,我想检索所有唯一名称,每个唯一名称的一个托管对象,按名称排序。

4

1 回答 1

3

使用这样的请求怎么样

NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:managedObjectContext];
request.entity = entity;
request.propertiesToFetch = [NSArray arrayWithObject:[[entity propertiesByName] objectForKey:@"name"]];
request.returnsDistinctResults = YES;
request.resultType = NSDictionaryResultType;

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
[request setSortDescriptors:[NSArray arrayWithObject:sortDescriptors]];

NSError *error = nil;
NSArray *distinctResults = [managedObjectContext executeFetchRequest:request error:&error];
// Use distinctResults

试着让我知道。

PS 代码已启用 ARC。如果您不使用它,请release在必要时致电。

于 2013-03-06T21:35:46.017 回答