Какао определяет классы предикатов (NSPredicate
, NSExpression
и т. Д.), Которые "предоставляют общие средства определения запросов в Какао" Программирование предикатов .Этот набор классов описывает то, что мне нужно, но с одним небольшим недостатком: мне нужны дополнительные операторы.
NSComparisonPredicate
уже обрабатывает 14 операторов ( NSPredicateOperatorType ), но я хотел быдобавьте, скажем, временные операторы ... или операторы для представления таких вещей, как:
- " переменная имеет по крайней мере n записи" (бинарный оператор)
- " переменная имеет значение для, самое большее, n дней подряд" (троичный оператор)
Очевидно, мне потребуется реализовать этиЯ и модель данных, по которой выполняются такие запросы, должны будут поддерживать этих операторов.Но есть ли способ реализовать это и извлечь выгоду из существующих классов NSPredicate?Поскольку операторы были определены как enum
, я сомневаюсь, что смогу расширить этот фронт.Или я полностью скучаю по лодке на этом?!