Сортировка после выборки / Обходной путь для NSSortDescriptor + NSFetchRequest / Сортировка табличного представления - PullRequest
2 голосов
/ 27 ноября 2011

Мое стремление собрать разбросанные волшебные фрагменты кода, необходимые для создания анимированного и динамически обновляемого UITableView - артефактов, спрятанных в темной и ужасной глубине подземелья, которого опасается Apple Inc, The Documentation - с помощью всегда дружественногогорожане и обычные герои Stack Overflow наконец-то завершены.

Но не беспокойтесь, конец этого квеста - это только начало нового.


У меня есть один UITableView.Этот tableView подключен к NSFetchedResultsController.Методы делегата FRC все запущены как pr.Пример кода Apple.

У меня есть два NSManagedObjectContexts:

  1. Правда.Этот MOC вставляется или удаляется только тогда, когда пользователь добавляет или удаляет объект.
  2. Блокнот.Это MOC, к которому подключен FRC tableView.Любое изменение здесь отражается в tableView с хорошими анимациями.

Блокнотная ячейка заполнена объектами из Истины, но она никогда не сохраняется.Это означает, что я могу вставлять и удалять (показывать и скрывать) объекты здесь, к своему сердцу, все время, пока tableView вежливо обновляется.

(Для любого, кто читает это в попытке реализовать что-то подобное, я бы сказал:познакомьтесь с [managedObjectContext objectWithID: id])


Мой вопрос связан с необходимостью сортировки tableView.Как мне стало ясно, читая о NSSortDescriptor в сочетании с NSFetchRequest, использование sortDescriptor просто не будет работать, когда используется хранилище SQLite.Документы говорят: «Вместо этого вы должны отсортировать возвращенный массив в памяти».Тогда все в порядке!Но как мне это сделать?

Где, в моей логике, как описано выше, я могу вставить этот отсортированный массив?Куда бы я ни повернулся, кажется, что есть проблемы.

...