Кажется, что это может быть тривиальный вопрос, но я новичок в базовых данных и баз данных.
В моем приложении я выполняю выборку и отображаю результаты. Затем, основываясь на пользовательском вводе, мне нужно отбросить эти результаты. То есть мне нужно выполнить новый поиск только по результатам первой выборки, но на основе совершенно другого параметра. (Иногда вторая выборка будет основываться на атрибуте, а иногда - на отношении ко многим.) Каков оптимальный способ сделать это?
Я нашел два варианта сделать это, но ни один из них не кажется очень хорошим:
При первой выборке предварительно выберите все данные, необходимые для второй выборки. Затем не выполняйте второй выборки, а просто просматривайте массив результатов первой выборки, ища совпадения с новыми условиями второй выборки. Этот метод имеет недостаток, заключающийся в том, что я вынужден перебирать массив и не использовать преимущества производительности Core Data.
Для второй выборки не обращайте внимания на первую и сделайте совершенно новую выборку с составным предикатом, состоящим из условий для первой выборки и условий для второй. Недостатком является то, что базовые данные должны снова просматривать всю базу данных, чтобы выполнить тот же поиск, что и раньше.
Есть ли способ, во второй выборке, сказать Core Data, что искать только через объекты сущностей, возвращенные в более ранней выборке?