Я пытаюсь создать NSPredicate для поиска «проектов», которые содержат «сессии» в пределах определенного диапазона дат. Я попробовал это сначала:
[NSPredicate predicateWithFormat:@"ANY sessions.date BETWEEN {$STARTDATE, $ENDDATE}"];
Но я получаю исключение:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'to-many key not allowed here'
Кажется, МЕЖДУ не работает ни с кем таким образом. Я также ограничен в использовании предложений () и AND, что означает, что я не могу использовать что-то вроде:
[NSPredicate predicateWithFormat:@"ANY (sessions.date > $STARTDATE && sessions.date < $ENDDATE)"];
Если я попытаюсь это сделать, я получу ошибку разбора. И, конечно же, sessions.date - это действительно набор, и поэтому его использование не имеет особого смысла.
Как я могу это сделать?
Спасибо
ОБНОВЛЕНИЕ: обратите внимание, что это:
[NSPredicate predicateWithFormat:@"ANY sessions.date > $STARTDATE && ANY sessions.date < $ENDDATE"];
Неправильно, потому что он возвращает проект, в котором есть сеанс, который больше даты начала, и другой сеанс, который меньше даты окончания, но между ними нет сеанса.