作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个名为“主题”的核心数据实体,它有 4 个属性。其中之一称为“名称”。此属性不是唯一的。我想检索数据中包含的所有名称的列表。
我似乎需要使用获取请求的 setReturnesDistinctResults:YES 选项,但我无法让它工作。下面的代码有什么问题吗?
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
// entity
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Themes" inManagedObjectContext:_context];
[fetchRequest setEntity:entity];
// sort descriptor
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
// return distinct
NSDictionary *entityProperties = [entity propertiesByName];
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObject:[entityProperties objectForKey:@"name"]]];
[fetchRequest setReturnsDistinctResults:YES];
NSError *error;
NSArray *fetchedObjects = [_context executeFetchRequest:fetchRequest error:&error];
for (Themes *theme in fetchedObjects) {
NSLog(@"Theme = %@", theme.name);
}
[fetchRequest release];
[sortDescriptor release];
[sortDescriptors release];
最佳答案
我相信你也必须设置这个:
[fetchRequest setResultType:NSDictionaryResultType];
让它发挥作用。
关于iphone - 我尝试使用 setReturnsDistinctResults 通过 Core Data 获得不同的结果,但无法使其正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3625101/
我试图在名为“name”的实体属性上获得唯一的结果。为此,我将 Magical Record 与 NSFetchedResultsController 结合使用事情根本不起作用,我得到了所有结果,但它
我有一个名为“主题”的核心数据实体,它有 4 个属性。其中之一称为“名称”。此属性不是唯一的。我想检索数据中包含的所有名称的列表。 我似乎需要使用获取请求的 setReturnesDistinctRe
我是一名优秀的程序员,十分优秀!