「recordDate」でデータをセクションに分割しようとしています。各セクションでは、データは「elementName」で昇順でソートされます。以下は現在のコードです(動作していません):
NSManagedObjectContext *context = self.tankDatabase.managedObjectContext;
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Log"];
request.sortDescriptors = [NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"recordDate" ascending:NO], [NSSortDescriptor sortDescriptorWithKey:@"elementName" ascending:YES selector:@selector(localizedStandardCompare:)], nil];
request.predicate = [NSPredicate predicateWithFormat:@"ownedBy = %@", self.tank];
self.controller = [[NSFetchedResultsController alloc]
initWithFetchRequest:request
managedObjectContext:context
sectionNameKeyPath:@"recordDate"
cacheName:nil];
self.controller.delegate = self;
NSError *error;
BOOL success = [self.controller performFetch:&error];
ただし、他のプロパティを使用して並べ替えようとした場合 (たとえば、elementName ASC、値 DESC、および elementName でグループ化) は正常に機能します。recordDate は、データ モデルでは「Date」型であり、クラスでは NSDate であることに注意してください。
また、recordDate には、その詳細にグループ化する必要がある分と秒が含まれています。
同様のケースをインターネット全体で検索しようとしましたが、うまくいく解決策が見つかりませんでした。私のコードで何が欠けていますか? それとも単なるAppleのバグですか?お時間を割いていただき、ありがとうございました。