如何通过请求检查特定属性来获取一组唯一的托管对象。
例如,一些人员对象,我想检索所有唯一名称,每个唯一名称的一个托管对象,按名称排序。
如何通过请求检查特定属性来获取一组唯一的托管对象。
例如,一些人员对象,我想检索所有唯一名称,每个唯一名称的一个托管对象,按名称排序。
使用这样的请求怎么样
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
在必要时致电。