Когда я должен использовать deleteCacheWithName с fetchedResultsController? - PullRequest
1 голос
/ 08 февраля 2012

При использовании основных данных + табличных представлений в сочетании с SearchDisplayController предикат для fetchedResultsController изменяется таким образом, что выбирается только подмножество результатов, подтверждающих строку в отображении поиска.

Функция shouldReloadDisplayForSearchString вызывается несколько раз, когда пользователь вводит строку поиска. Обычная стратегия, по-видимому, заключается в том, чтобы просто перезаписать текущий предикат для выбранного ResultsController новым. Apple предлагает вызывать deleteCacheWithName при изменении предиката поиска.

Для меня кажется немного грубым удалять кеш каждый раз. Это лучшая практика для этого случая? Существуют ли другие стратегии, такие как создание временного fetchedResultsController для поиска?

Спасибо за помощь!

1 Ответ

1 голос
/ 08 февраля 2012

Я думаю, что, как вы сказали, это немного жестоко, и вам лучше использовать другой запрос для контроллера поиска.Я, например, не использую извлеченный контроллер результатов для контроллера поиска, но запрос к массиву.Пока мой извлеченный контроллер результатов не изменен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...