Есть ли способ получить основной объект данных и отфильтровать отношения? Например, если у меня есть объект Parent
и объект Children
. Children
относятся к родителям. Я могу получить объект Parent
и иметь только Children
с волосами Blonde
и Male
.Отфильтровать отношения в Core Data
Я знаю, что могу просто получить все дети, а затем отфильтровать их после того, как у меня есть объект, но если я изменил дочерние элементы, назначенные родителям с отфильтрованными результатами, он испортил бы инверсию.
* "... но если я изменил дочерние элементы, назначенные родителям с отфильтрованными результатами ..." * - зачем вы это делаете? - Вы можете либо фильтровать 'TheParent.children', либо выполнить запрос выборки в объекте Children с некоторым предикатом« parent = ... AND hairColor = ... ». Чего вы пытаетесь достичь? –
@MartinR Когда я запускаю выборку, я получаю всех родителей с детьми. Однако мне просто нужен объект родителей с конкретными детьми. Из-за этого я обычно запускаю 'filterArrayWithPredicate' на дочерних элементах, чтобы получить те, которые мне нужны, и установите« theParents.children »в отфильтрованные результаты. Выполнение этого способа нарушает обратное. – Bot
Установка «theParent.children» в отфильтрованные результаты, вероятно, плохая идея. Вы можете использовать настраиваемый метод (как в ответе ниже) или, возможно, определить «выбранное свойство» в инспекторе модели Core Data. У меня нет практического опыта с выбранными свойствами, но, согласно документации, их преимущество заключается в том, что результаты кэшируются. –