Смешанный запрос CloudKit (запрос с OR)

Я хотел бы запросить CloudKit, используя OR с двумя полями. Но я не могу найти способ, как это сделать. Что я сделал:

NSPredicate *predicate1 = [NSPredicate predicateWithFormat:@"(creatorUserRecordID == %@)", userId]; NSPredicate *predicate2 = [NSPredicate predicateWithFormat:@"(toUser == %@)", userId]; NSCompoundPredicate *compPredicate = [NSCompoundPredicate orPredicateWithSubpredicates:@[predicate1, predicate2]]; CKQuery *query = [[CKQuery alloc] initWithRecordType:@"Message" predicate:compPredicate]; 

Но, к сожалению, CKQuery не поддерживает запрос OR (как написано в документации) Могу ли я добиться этого эффекта другим способом?

CKQuery поддерживает AND и NOT, поэтому вы могли бы предположить, что можете использовать простую булеву алгебру для создания запроса на основе того факта, что NOT (NOT A AND NOT B) == A ИЛИ B. ОДНАКО, в документации конкретно говорится:

«Оператор NOT не поддерживается в следующих случаях:

Вы не можете использовать его, чтобы свести на нет сложный предикат И. "

Поэтому вы должны запросить для каждого из предикатов ORed отдельно сохранить их каждый как SET, а затем взять пересечение двух наборов, чтобы получить окончательный результат

  • Поиск через NSMutableArray объектов с помощью NSPredicate
  • Как отформатировать NSPredicate для PHFetchOptions в Swift?
  • Исходные данные извлечения данных nil check failing / неожиданные результаты?
  • Проверка NSPredicate для класса объектов
  • NSPredicate для внутреннего ключа в массиве dictonary
  • CloudKit - NSPredicate для поиска всех записей, содержащих указанный CKReference, в списке ссылок
  • Фильтрация с помощью NSPredicate для подсчета массива Массив внутри словаря внутри массива
  • Написание NSPredicate для текстового запроса CONTAINED_BY
  • iOS CoreData NSPredicate для запроса сразу нескольких свойств
  • onFormat string Для NSPredicate
  • Ядра данных с преобразованием основных данных NSArray
  • Interesting Posts

    Делегаты JASidePanels для viewWillAppear ext не получают вызов

    Текстовая вставка для UITextField?

    Методы класса и методы экземпляра – когда / когда их не использовать?

    WebCore: рабочий: EXC_BAD_ACCESS при подключении отладчика Safari к проекту Xcode 8.3

    Сохранить фотографию с данными геолокации в библиотеке фотографий Swift 3

    NSPhotoLibraryUsageDescription ключ должен присутствовать в Info.plist, чтобы использовать рулон камеры

    IOS scrollview неоднозначная высота прокручиваемого содержимого в случае автозапуска

    отображение свойств неправильно связано. Зачем?

    Расширение каталога вызовов – ошибка включения расширения. Не удалось запросить данные

    MKOverlayView и касается

    Контакты отсутствуют некоторые из требуемых дескрипторов ключей в ios

    Почему iOS Safari добавляет дополнительный интервал между буквами?

    iOS – setEditing и / или

    Определить тип конфигурации сборки цели из статической библиотеки

    Использование CocoaPods для рамки «Графики». Swift 2

    Давайте будем гением компьютера.