NSFetchedResultsController "неправильное имя раздела"

Я использую MagicalRecord для получения своих данных. В моем приложении у меня есть список контактов, сгруппированных в группы контактов. Я показываю эти контактные группы в сгруппированном UITableView.

Например, у меня есть следующее (чего я и ожидаю):

Default Groups  // section header
[Everyone]      // cell row
[Favourites]    // cell row

My Group        // section header
[Coworkers]     // cell row

Иногда мои группы путаются:

Default Groups  // section header
[Everyone]      // cell row
[Coworkers]     // cell row

My Group        // section header
[Favourites]    // cell row

Каждое имя группы контактов и тип группы, которые я использую для сортировки и группировки. Тип группы — целое число. Когда я проверяю их атрибуты, они действительно имеют правильный тип группы.

Мой FRC выглядит так:

fetchedResultsController = [ContactGroup fetchAllSortedBy:@"groupName"
                                                ascending:YES
                                            withPredicate:nil
                                                  groupBy:@"groupType"
                                                 delegate:self];

Я вижу следующую ошибку:

CoreData: error: (NSFetchedResultsController) The fetched object at index 2 has an out of order section name '1. Objects must be sorted by section name'
+[MagicalRecord(ErrorHandling) defaultErrorHandler:](0x2eefb8) Error: The fetched object at index 2 has an out of order section name '1. Objects must be sorted by section name'
+[MagicalRecord(ErrorHandling) defaultErrorHandler:](0x2eefb8) Error Message: The operation couldn’t be completed. (Cocoa error 134060.)
+[MagicalRecord(ErrorHandling) defaultErrorHandler:](0x2eefb8) Error Domain: NSCocoaErrorDomain
+[MagicalRecord(ErrorHandling) defaultErrorHandler:](0x2eefb8) Recovery Suggestion: (null)

Пожалуйста, дайте мне знать, если мне нужно предоставить более подробную информацию, я нахожусь в тупике на данный момент и не уверен на 100%, что делать.




Ответы (1)


Не используя MagicalRecord, можете ли вы установить несколько критериев сортировки?

Я предполагаю, что он использует groupBy: в качестве имени раздела, поэтому в этом случае у меня будет два дескриптора сортировки: один для «groupType», а второй для «groupName».

Это отсортирует разделы в правильной последовательности, а затем все в правильном порядке внутри разделов.

person Hunter    schedule 10.10.2012