2012-05-27 3 views
0

У меня есть следующий предикат, который не работает, как ожидалось:NSPredicate соединение с использованием НЕ в отношениях

isHistoric == 0 AND (NOT ANY singleToMany.name ==[cd] "searchword") 

Я ожидаю каких-либо объектов, которые имеют .name из «» в слово для поиска их singleToMany отношения не будут появляться в результатах ... но они это делают.

Если я переворачиваю это на своей голове и удаляю NOT - я просто возвращаю один результат, я хочу не использовать NOT! [Если это имеет смысл] означает:

isHistoric == 0 AND (ANY singleToMany.name ==[cd] "searchword") 

возвращает один результат, я не хочу, чтобы появиться в первом примере предиката.

Любые советы?

ответ

-1
isHistoric == 0 AND singleToMany.name NOT LIKE [cd] "searchword" 
+0

Nope. Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «для многих ключей здесь не разрешено» – mootymoots

+0

ОК попробуйте с моим редактированием, извините, я не могу проверить свою систему – craig1231

+0

Нет - не будет анализировать этот ... – mootymoots

0

Try:

isHistoric == 0 AND (NONE singleToMany.name ==[cd] "searchword") 

документы говорят, что NONE эквивалентно NOT (ANY ...). Обратите внимание на размещение круглых скобок. Таким образом, вышеуказанное должно быть эквивалентно:

isHistoric == 0 AND NOT (ANY singleToMany.name ==[cd] "searchword") 
+0

Ни один из они тоже работают ... Только не понимайте. Я пробовал так много комбинаций. Другие темы на этой же теме предполагают проверку правильности установления отношений - не уверен, что я должен проверять? – mootymoots

Смежные вопросы