Есть ли такая вещь, как "случайная сортировка"?
Если вы хотите случайным образом изменить отображение результатов, полученных с помощью NSFetchedResultsController
, помните, что вы заполняете табличное представление на основе ссылки indexPath
на элемент в полученных результатах вашего контроллера (-objectAtIndexPath:
).
Итак, одну вещь, которую вы можете сделать, - это перемешать NSMutableArray
(или массивы) путей индекса, написав метод, который отображает путь индекса к перестановочному пути индекса. Этот метод принимает путь индекса в качестве входных данных, ищет массив (или массивы) и выдает новый путь индекса в качестве выходных данных. Вы используете этот новый путь индекса для заполнения представления таблицы.
Кроме того, вы можете добавить атрибут randomizerTag
к вашей сущности Item
. Вы используете любую функцию перестановки для генерации перестановки целых чисел { 1 ... n }
и сохранения этих чисел для каждой записи в вашем магазине. После сохранения вы можете выполнить повторную выборку, применив дескриптор сортировки, который сортирует значения randomizerTag
ваших записей.