NSPredicate ведет себя странно в NSFetchedResultsController - PullRequest
2 голосов
/ 06 апреля 2010

Я чувствую, что это должно быть очень просто, но ведет себя странно.

У меня есть 3 сущности с такими отношениями

Объект A <- >> Объект B << -> Объект C

У меня есть контроллер NSFetchedResults, и я пытаюсь отфильтровать результаты объекта A, используя следующий предикат.

[NSPredicate predicateWithFormat:@"NONE entityB.entityC == %@", self.entityC];

Когда я пытаюсь запустить приложение, вывод не показывает результатов. Я могу немного изменить предикат:

[NSPredicate predicateWithFormat:@"ANY entityB.entityC == %@", self.entityC];

И он показывает мне только результаты, которые я хочу отфильтровать.

Почему это происходит?

1 Ответ

3 голосов
/ 06 апреля 2010

Я думаю, вам может понадобиться выражение SUBQUERY :

@"SUBQUERY(entityB, $x, $x.entityC == %@).@count == 0"

хотя, это может сработать:

@"NOT (ANY entityB.entityC == %@)"

(примечание: я не проверял второй вариант)

...