0

我在我的 NSArrayController 中设置了所有内容,让我的文件所有者代表对象成为我拥有的 tableview 的数据源。

在我在界面生成器中的绑定中,我想使用过滤谓词过滤掉数组控制器中名称中包含 $ 的任何项目....特别是实际上以 $ 结尾,因为这就是当我得到 Windows 管理员共享时的样子我正在收集的 FTP 共享数组。

我已将过滤谓词设置为:控制器键:选择 modelKeyPath:directorsAndFiles

value Transformer:嗯,我不知道?你能帮我吗

通缉:消除其中包含 $ 字符的任何项目

谢谢!

4

2 回答 2

0

当您“设置”过滤谓词时,您所做的是绑定它 - 您需要将键路径设置为您设置为控制器键的任何对象的有效属性。因此,相反,您应该将控制器键设置为某个控制器对象,以及某个属性的键路径,可能命名为windowsPredicate.

然后,在您绑定的任何对象中,添加一个 windowsPredicate 属性,该属性返回一个NSPredicate. 您将NSPredicate使用以下内容创建自己:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name not like '*$'"];

(* 表示“任何东西”,因此大致翻译为“不要以 $ 结尾”。)查看NSPredicate文档以获取更多信息。祝你好运!

于 2010-12-15T21:33:51.410 回答
0

首先,在这种情况下,您不需要价值转换器。值转换器更改值的显示。例如,它可能会导致数字 2 显示为“€ 2,00” - 或您可能喜欢的任何内容。

其次,您要查找的谓词语法是“ENDSWITH”,如:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name not ENDSWITH '$'"];
于 2016-11-24T13:34:14.143 回答