У меня есть две сущности, связанные друг с другом. Первый - это объект транзакции, который имеет отношение «многие ко многим» с другим объектом с именем Tag. Таким образом, транзакция может иметь несколько тегов, а тег - несколько транзакций.
У меня есть метод, который извлекает данные из Core Data, который может возвращать результаты, помеченные заданным тегом. Я использовал такой предикат, как показано ниже:
fetchRequest.predicate = NSPredicate(format: "(%@ <= date) AND (date < %@) AND (ANY tags IN %@)", argumentArray: [startDate, endDate, tags])
Он отлично работает. Теперь я хочу создать еще один запрос на выборку с предикатом, который фильтрует результаты другим способом. Это должно возвращать результаты, которые НЕ имеют данного тега.
Итак, я попробовал следующий код:
fetchRequest.predicate = NSPredicate(format: "(%@ <= date) AND (date < %@) AND (tType == %@) AND (NOT ANY tags IN %@)", argumentArray: [startDate, endDate, type.rawValue, tags])
и
fetchRequest.predicate = NSPredicate(format: "(%@ <= date) AND (date < %@) AND (tType == %@) AND (NOT tags IN %@)", argumentArray: [startDate, endDate, type.rawValue, tags])
Но ни один из них не работает . Все, что он делает, это возвращает все элементы, независимо от того, помечены они или нет.
Я что-то здесь упускаю?
Любая помощь приветствуется. Спасибо!