Поиск по типу с основными данными / NSFetchedResultsController - PullRequest
2 голосов
/ 12 мая 2010

Я реализовал поиск по типу (текстовый поиск по одному атрибуту), выбирая с помощью performFetch: после каждого данного символа пользователем. performFetch: работает в фоновом потоке, чтобы избежать зависаний клавиатуры.

Но при наборе текста запускается много бесполезных выборок. NSOperationQueue может быть вариантом, но мне интересно, есть ли другие подходы для этого довольно обычного поведения поиска.

Что лучше всего заметить, когда выборка завершена, а табличное представление обновлено предыдущей выборкой, чтобы начать новую выборку?

1 Ответ

4 голосов
/ 13 мая 2010

Вам не нужно выполнять выборку из стека основных данных после каждой буквы. Вместо этого вы можете запустить NSPredicate для fetchedObjects, который уже находится в экземпляре NSFetchedResultsController. Это избавит от необходимости выполнять выборки в фоновом потоке, поскольку вы просто фильтруете результаты, уже находящиеся в памяти, и это устранит проблему с производительностью.

По мере ввода каждой буквы вы настраиваете NSPredcate, а результаты фильтруются далее.

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