如何通过请求检查特定属性来获取一组唯一的托管对象。
e.g。许多人对象,我想检索所有唯一的名称,每个唯一名称的一个托管对象,按名称排序。
答案 0 :(得分: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
试着让我知道。
P.S。代码已启用ARC。如果您不使用它,请在必要时致电release
。