【发布时间】:2011-03-11 22:50:07
【问题描述】:
我有一个 NSTableView,其列绑定到 NSArrayController 的子类。 “值”列的每个条目都是文件路径列表(在模型中),特别是应用程序的 PATH 和 PYTHONPATH。
我想要的是控制对这些值的编辑,以确保列表中的每个路径都是有效的。由于我正在使用绑定,我想我应该编写某种 NSPredicate 但我想让它使用我定义的函数来执行过滤器,因为测试有点复杂。您如何将自定义函数与 NSPredicate 一起使用?
或者我应该考虑另一种方法吗?
谢谢。
更新:
我已经想出如何使用 NSString 上添加方法 validate 的类别将包含文件路径的字符串转换为计算结果为我想要的表达式。但我仍然不知道如何将其放入过滤谓词中。
NSString *s = @"~:~/Desktop";
NSExpression *f = [NSExpression expressionForConstantValue:s];
NSExpression *e = [NSExpression expressionForFunction:f
selectorName:@"validate"
arguments:nil];
我想这基本上是一个过滤谓词,总是吐出表达式的计算结果..
【问题讨论】:
标签: cocoa nspredicate