Попробуйте это:
NSMutableArray *items = [NSMutableArray arrayWithArray:fetchedResultsController.fetchedObjects];
или сделайте это за один шаг (не нужно изменять):
NSArray *items = [fetchedResultsController.fetchedObjects sortedArrayUsingDescriptors:sortDescriptors];
В целом, это кажется запутанным способомсортировки таблицы.Вы модифицируете displayIndex в БД, чтобы отразить новый порядок сортировки.Предположительно, NSFetchRequest, управляющий fetchedResultsController, сортирует на основе displayIndex.
Было бы проще и не требовать изменений в БД для простого изменения fetchRequest и перенастройки fetchedResultsController.
Из NSFetchedResultsController doc:1012 *
Изменение запроса на выборку
Вы не можете просто изменить запрос на выборку, чтобы изменить результаты.Если вы хотите изменить запрос на выборку, вы должны:
Если вы используете кеш, удалите его (используя deleteCacheWithName :).Обычно вы не должны использовать кеш, если вы изменяете запрос на выборку.
Измените запрос на выборку.Вызвать executeFetch:.