我有一个NSTableView,其列被绑定到NSArrayController的子类。 “值”列的每个条目都是文件路径列表(在模型中),特别是应用程序的PATH和PYTHONPATH。Cocoa中的自定义NSPredicate
我想要的是控制对这些值的编辑,以确保列表中的每个路径都是有效的。由于我使用的是绑定,因此我认为我应该编写某种NSPredicate,但我希望使用我定义的函数来执行过滤器,因为测试有点复杂。你如何使用NSPredicate的自定义函数?
或者我应该考虑另一种方法?
谢谢。
UPDATE:
我已想出如何使含有文件路径为计算结果为我想要的,使用上的NSString类别,增加了该方法validate
表达式中的字符串。但是我仍然不知道如何将它变成过滤器谓词。
NSString *s = @"~:~/Desktop";
NSExpression *f = [NSExpression expressionForConstantValue:s];
NSExpression *e = [NSExpression expressionForFunction:f
selectorName:@"validate"
arguments:nil];
我想这将主要是一个过滤谓词总是吐出什么表达式的值为..