Как я могу использовать NSFetchedResultsController и пользовательские разделы? - PullRequest
2 голосов
/ 06 марта 2012

Мое приложение имеет список расписаний.

  • Раздел 1: Доктор
  • Раздел 2: Личный
  • Раздел 3: Просроченные графики

В настоящее время я использую sectionNameKeyPath:@"source", который является либо врачом, либо личным, проблема в разделе с истекшим сроком действия. Это может быть определено атрибутом endDate в той же сущности.

NSFetchedResultsController *aFetchedResultsController =
    [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
                                        managedObjectContext:managedObjectContext
                                        sectionNameKeyPath:@"source" cacheName:@"Root"];

Так, как я могу продолжать использовать NSFetchedResultsController, но каким-то образом использовать эти три раздела?

1 Ответ

3 голосов
/ 06 марта 2012

В вашей модели данных создайте новый переходный атрибут в вашей сущности Schedule, называемый "sectionName". Затем напишите метод в вашем классе Schedule -(NSString*)sectionName, чтобы вернуть правильную строку. Наконец, используйте @"sectionName" в качестве пути ключа имени раздела для выбранного контроллера результатов.

Не забывайте, что в вашем запросе на выборку элементы должны быть уже отсортированы в правильном порядке для группировки в секции - это требование NSFetchedResultsController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...