динамически изменять дескриптор сортировки для контроллера результатов Fetched - PullRequest
4 голосов
/ 19 июня 2010

Есть ли способ динамически установить дескриптор (ы) сортировки для контроллера извлеченных результатов на iOS?

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

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

Я знаю, как изначально установить дескрипторы сортировки, но я не уверен, как это изменить / динамически обновить. Поскольку функция - (NSFetchedResultsController *)fetchedResultsController загружается лениво, не всегда ли она просто возвращает frc, созданный в первый раз (таким образом, возвращая начальную настройку дескриптора сортировки)?

Могу ли я сделать что-то вроде сохранения сегментированного значения элемента управления в sharedPreferences, а затем при его изменении установить для моего fetchedResultsController значение nil, чтобы сгенерировать новое? Затем в функции fetchedResultsController я могу создать свой sortDescriptor на основе этого параметра sharedPreferences?

1 Ответ

3 голосов
/ 19 июня 2010

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

Существуют и другие решения, но они зависят от дизайна вашего приложения.

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