我在NSArrayController中设置了所有内容,让我的文件所有者representObject成为我拥有的tableview的数据源。
在我在界面构建器中的绑定中,我想使用过滤器谓词来过滤出arraycontroller中名称中包含$的任何项目....具体以$实际结尾,因为这是windows admin共享的样子当我收到我正在收集的FTP共享数组时。
我已将过滤谓词设置为: 控制器键:选择 modelKeyPath:directorsAndFiles
价值变形金刚:嗯,我不知道?你可以帮忙吗?通缉: 消除任何包含$字符的项目
谢谢!
答案 0 :(得分:0)
当您“设置”过滤器谓词时,您正在做的是绑定它 - 您需要将键路径设置为您设置为控制器键的任何对象的有效属性。因此,您应该将控制器密钥设置为某个控制器对象,以及某些属性的关键路径,可能命名为windowsPredicate
。
然后,在您绑定的任何对象中,添加一个返回NSPredicate
的windowsPredicate属性。您将使用以下内容创建NSPredicate
:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name not like '*$'"];
(*表示“任何内容”,因此大致翻译为“不以$结尾”。)查看NSPredicate
文档以获取更多信息。祝你好运!
答案 1 :(得分:0)
首先,在这种情况下,您不需要值变换器。值变换器会更改值的显示。例如,它可能会使数字2显示为“€2,00” - 或者您可能喜欢的任何内容。
其次,您正在寻找的谓词语法是“ENDSWITH”,如:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name not ENDSWITH '$'"];