【发布时间】:2011-12-02 21:32:43
【问题描述】:
Cocoa 定义了谓词类(NSPredicate、NSExpression 等)“提供了在 Cocoa 中指定查询的通用方法” Predicate Programming。这组类描述了我需要的东西,但有一个小缺点:我想要额外的运算符。
NSComparisonPredicate 已经处理了 14 个运算符 (NSPredicateOperatorType) 但我想添加,比如说,时间运算符...或运算符来表示以下内容:
- " 变量 至少有 n 条目" (二元运算符)
- " 变量 有 值 最多, n 连续天" (三元运算符)
显然,我需要自己实现这些,并且执行此类查询的数据模型必须支持这些运算符。但是,有没有办法实现它并从现有的 NSPredicate 类中受益?由于运算符被定义为enum,我怀疑我可以在这方面进行扩展。还是我完全错过了这条船?!
【问题讨论】:
标签: objective-c cocoa nspredicate subclassing