我有一个产品搜索,搜索我的产品所在的ProductCategories,有时我的产品有多个类别,这给我重复的结果.我不想直接搜索产品表,因为有几种产品有多种尺寸,但基本上是相同的产品.
有没有办法用NSFetchedResultsController获得不同的搜索结果?
解决方法
是的你可以…
寻找方法
- (NSFetchedResultsController *)fetchedResultsController;
并添加以下行(在此示例中,我们只获得托管对象的不同“title”属性):
[fetchRequest setReturnsDistinctResults:YES]; [fetchRequest setResultType:NSDictionaryResultType]; [fetchRequest setPropertiesToFetch:[NSArray arrayWithObject:@"title"]]; self.fetchedResultsController.delegate = nil;
您必须注意如何从NSFetchedResultsController访问值…例如在
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
使用以下代码访问数据:
NSDictionary* title = [self.fetchedResultsController objectAtIndexPath:indexPath]; cell.textLabel.text = [title objectForKey:@"title"];