Я пытаюсь реализовать код поиска в своем iPhone-приложении на базе CoreData. Я не уверен, как действовать дальше. В приложении уже есть NSFetchedResultsController с предикатом для извлечения данных для основного TableView. Я хочу убедиться, что я на правильном пути, прежде чем изменить слишком много кода. Я запутался, потому что многие примеры основаны на массивах вместо CoreData.
Вот несколько вопросов:
-
Нужно ли иметь второй NSFetchedResultsController, который извлекает только соответствующие элементы или я могу использовать тот же самый, что и основной TableView?
-
Если я использую один и тот же, это так же просто, как очистка кэша FRC, а затем изменение предиката в методе handleSearchForTerm: searchString? Должен ли предикат содержать исходный предикат, а также условия поиска или он помнит, что он использовал предикат для извлечения данных в первую очередь?
-
Как мне вернуться к исходным результатам? Я просто задал искомый предикат нулю? Не будет ли это убить исходный предикат, который был использован для получения результатов FRC в первую очередь?
Если у кого-нибудь есть примеры кода, использующего поиск в FRC, я был бы очень признателен!