Руководство по программированию предикатов Apple описывает ограничение для предикатов Core Data:
Базовое хранилище SQL данных поддерживает только одну операцию «многие» на запрос;
поэтому в любом предикате, отправленном в хранилище SQL, может быть только
один оператор (и один экземпляр этого оператора) из ALL, ANY и
IN.
Я только что проверил это, создав запрос на выборку с составным предикатом с двумя ЛЮБЫМИ операторами в нем (желая вернуть любые объекты, соответствующие двум отдельным отношениям "многие-многие". Похоже, что запрос сработал, возвращая ожидаемый объект.
Итак, утверждение в руководстве:
- неверно (или устарело)
- правильно (кажется, работает, но не будет детерминированным, поэтому нельзя доверять)
- правильно (похоже, работает, но мой тест плохой)
- правильно (по какой-то другой причине)
Спасибо