Предикат CoreData, който сравнява две свойства в твърде много връзка

Опитвам се да изградя предикат, който сравнява двама члена на връзка с твърде много. Кодът по-долу показва по-ясно моето намерение, но изглежда не работи (да приемем, че 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