我有一个显示音乐家专辑的表格视图。每个部分是一个专辑,每一行是一个曲目。我需要按发行日期排序的专辑/部分,然后按标题。我正在从 Core Data 中提取曲目,如下所示:
fetchRequest = [[NSFetchRequest alloc] init];
...
fetchRequest.sortDescriptors = [NSArray arrayWithObjects:
[NSSortDescriptor sortDescriptorWithKey:@"album.releaseDate" ascending:YES],
[NSSortDescriptor sortDescriptorWithKey:@"album.title" ascending:YES],
[NSSortDescriptor sortDescriptorWithKey:@"trackNumber" ascending:YES],
nil];
frc = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:context
sectionNameKeyPath:@"album.releaseDate" // <-- PROBLEM HERE
cacheName:nil];
这不起作用,因为发行日期相同的两张专辑将出现在同一部分。
如果我使用album.title 作为sectionNameKeyPath,地狱就会崩溃,因为这些部分是按字母顺序排序的,然后强加在曲目上(按日期、标题、曲目编号排序)。
如何按日期对部分进行排序,然后按标题?