Мне интересно узнать о различиях в производительности между двумя различными методами фильтрации данных. Вот что я работаю с:Массивный фильтр против Core Data pull performance
- Набора основных данных объектами
- A UISegmentedControl, который представляет булев фильтр (узнал против не узнали)
- A UITableView, который отображает отфильтрованный набор данных
Как я понимаю, есть два возможных подхода здесь:
- Выдвижные весь основной набор данных в viewDidLoad. Фильтрация массива данных с использованием предиката при изменении значения сегментарного управления. Перезагрузите таблицу.
- Первоначально вытащите набор данных ядра с помощью предиката. Когда изменяется сегментированное значение управления, перетащите набор данных ядра с обновленным предикатом. Перезагрузите таблицу.
Я знаю, что есть факторы, которые влияют на ответ (насколько велик набор данных, как часто используется сегментированный элемент управления), мне просто интересно, есть ли общая передовая практика между ними.
Я предполагаю, что если вы используете fetchedResultsController, а не NSArray, вы получаете хорошую интеграцию с UITableView, однако в зависимости от вашего приложения вы можете получить от этого мало пользы. –
О, не знаю, как я пропустил этот класс. Спасибо, я посмотрю! – Whoa
Вы можете прочитать все данные в начале в два отдельных массива, один для обучения и один для не изученного, а затем просто переключаться между ними, когда переключатель переключается. Это будет полезно только в том случае, если данные имеют управляемый размер, но в значительной степени удаляют штраф фильтра. – Bergasms