Визуально у меня есть UITableView
с UISegmentedControl
, чтобы разрешить выбор режима, который изменит порядок сортировки таблицы.Mutiple NSFetchedResultsController с одним UITableView?
Использование NSFetchedResultsController
. Я думаю, что я должен держать отдельный контроллер для каждой другой конфигурации сортировки, а затем менять, какой из них отображается на основе выбранного в данный момент «режима».
Тем не менее, я вижу, что это будет сложно с 4 различными NSFetchedResultsController
отправляет все сообщения делегатов для обновления UITableView
. Чтобы справиться с этим, я планирую использовать блок switch()
в каждом из соответствующих методов, чтобы игнорировать всех, кроме текущего «активного» NSFetchedResultsController
.
Звучит ли это как правильный подход, или я пропустил что-то очевидное здесь?
-I можно увидеть потенциал для катастрофы, если пользователь изменяет «режим» так же, как обновление приходит через (то есть между controllerWillChangeContent:
и controllerDidChangeContent:
)
В t он тратит на потерю кэширования каждого режима. Хотя я могу видеть, как это намного проще, чем пытаться манипулировать 4 одновременно. – trapper
Действительно ли зависят от кэша? И почему бы вам не попробовать при переключении сегмента, чтобы установить контроллер, который в настоящее время используете делегат для себя, а остальные три - к нулю. то ваши методы делегирования будут срабатывать только для активного контроллера ... – graver