Предикат CoreData, который сравнивает два свойства в отношении Too-Many

Я пытаюсь построить предикат, который сравнивает два члена слишком многих отношений. Приведенный ниже код более ясно показывает мое намерение, но, похоже, не работает (предположим, что objects — это отношение слишком много и имеет элементы, member1 и member2< /сильный>):

[NSPredicate predicateWithFormat:
 @"(ANY objects.member1 ==[cd] objects.member2)"];

Я ценю любую помощь в определении правильно структурированного предиката для этого типа сравнения.


person Fostah    schedule 18.09.2014    source источник
comment
Все еще не уверен, как сделать этот тип сравнения. В итоге вместо этого я сохранил логическое значение в качестве члена объекта, представляющего результат сравнения. Тем не менее, было бы интересно узнать, как это сравнение будет сделано.   -  person Fostah    schedule 18.09.2014


Ответы (1)


Предполагая, что вы хотите получить объекты, которые связаны хотя бы с одним объектом с помощью «member1 == member2», вы должны использовать ПОДЗАПРОС:

[NSPredicate predicateWithFormat:@"SUBQUERY(objects, $o, $o.member1 == $o.member2).@count > 0"]

Вы можете найти аналогичный пример в Справочник по классу NSExpression.

person Martin R    schedule 18.09.2014
comment
Спасибо за решение. В коде была опечатка, но концепция сработала. - person Fostah; 22.09.2014