【发布时间】:2012-08-04 21:01:57
【问题描述】:
我正在尝试在名为“name”的实体属性上获得唯一结果。 为此,我正在使用带有 NSFetchedResultsController 的 Magical Record 事情根本不起作用,我得到了所有结果,但它们不是唯一的结果。
我的代码如下:
- (NSFetchedResultsController *)fetchedResultsController
{
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"custom == 0"];
[_fetchedResultsController.fetchRequest setReturnsDistinctResults:YES];
[_fetchedResultsController.fetchRequest setResultType:NSDictionaryResultType];
[_fetchedResultsController.fetchRequest setPropertiesToFetch:[NSArray arrayWithObject:@"name"]];
_fetchedResultsController = [MyQuestion fetchAllSortedBy:@"name"
ascending:YES
withPredicate:predicate
groupBy:nil
delegate:self];
return _fetchedResultsController;
}
我也尝试使用本机 NSFetchedResultsController 方法(没有 Magical Record),但我得到了数据库损坏异常,可能是因为我仍在使用应用程序委托上的 Magical Record 初始化我的数据。
【问题讨论】:
-
我不知道Magical Record,但是你的代码不能工作,因为你设置了
_fetchedResultsController.fetchRequest的属性之前你初始化_fetchedResultsController!
标签: ios core-data unique nsfetchedresultscontroller magicalrecord