「名前」という名前のエンティティ プロパティで一意の結果を取得しようとしています。その目的のために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 を使用してデータを初期化しているため、データベースが壊れているという例外が発生します。