У меня есть крошечное тестовое приложение, использующее Core Data через MagicalRecord, чтобы научиться группировать действия по категориям. Я хочу отобразить данные в сгруппированном табличном представлении с именами всех действий, имеющих общую категорию, сгруппированных вместе по категориям. Соответственно, у меня есть объект с именем ListActivity, который имеет два атрибута: «имя» и «категория», оба строковые.
В настоящее время я использую:
frc = [ListActivity MR_fetchAllGroupedBy:@"category" withPredicate:nil sortedBy:@"name" ascending:YES];
На мой взгляд (не имея возможности найти четкую документацию об обратном), это кажется отвечающим всем требованиям, но не так.
На следующем снимке экрана я ввел действие под названием "a" в категории "K".
Пока нормально. Затем я ввожу действие с именем "k" в категорию "A".
В то время как категории, кажется, правильно упорядочиваются как названия разделов через:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
id <NSFetchedResultsSectionInfo> sectionInfo = [[frc sections] objectAtIndex:section];
return [sectionInfo name];
}
сами действия плавают прямо и вне группы (категории), к которой они относятся, но остаются в алфавитном порядке.
Я был во всем Интернете, во всем SO, Github и т. д., и не могу найти ничего, что объясняло бы поведение группировки и сортировки методов fetchAll и findAll MR, кроме как в общих чертах. Может ли кто-нибудь с опытом работы с MagicalRecord помочь или указать мне документацию или учебник?
Спасибо!