Как фильтровать NSFetchedResultsController (CoreData) с помощью UISearchDisplayController/UISearchBar



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



вот некоторые вопросы:




  1. Мне нужно иметь второй NSFetchedResultsController, который извлекает только соответствующие элементы или я могу использовать тот же самый как основной TableView?


  2. Если я использую тот же самый, это так же просто, как очистка кэша FRC, а затем изменение предиката в методе handleSearchForTerm:searchString? Должен ли предикат содержать начальный предикат, а также условия поиска, или он помнит, что он использовал предикат для извлечения данных в первую очередь?


  3. Как вернусь ли я к первоначальным результатам? Я просто устанавливаю предикат поиска в ноль? Разве это не убьет исходный предикат, который был использован для получения результатов FRC в первую очередь?



Если у кого-нибудь есть примеры кода, использующего поиск с FRC, я был бы очень признателен!

695   0  

Comments

    Ничего не найдено.