我正在尝试在名为“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 初始化我的数据。