Использование UISegmentedControl для переключения NSFetchedResultsController - PullRequest
1 голос
/ 31 января 2011

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

При нажатии на сегментированный элемент управления я пытаюсь перейти на другой NSFetchedResultsController (который использует другой предикат, дескриптор сортировки и даже другой тип объекта).

Нечто подобное предлагается в одном из ответов на на этот вопрос .

У меня также есть typedefed мое собственное перечисление, чтобы отслеживать, в каком состоянии находится табличное представление (какой сегмент выбран в данный момент).

Проблема в том, что, когда табличное представление перезагружает свои данные, я получаю «NSInternalInconsistencyException», так как количество разделов и / или количество строк изменилось с X на Y - но »(0 вставлено, 0 удалено) ».

Мои вопросы:

  • Возможно ли вообще решить это так, как я пытаюсь?
  • Куда должны идти beginUpdates, endUpdates и reloadData (относительно переключателя NSFetchedResultsController)?
  • Кто-нибудь с лучшими решениями этой проблемы?

Заранее спасибо!

1 Ответ

2 голосов
/ 02 февраля 2011

Если вы выполняете ленивую загрузку FRC, убейте FRC и вызовите reloadData для UITableView, чтобы получить новый FRC с новыми дескрипторами предикатов / сортировки, которые будут использоваться.

Это то же самое, что вы делаете при использовании UISearchBar, как ответили в на этот вопрос

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