我想知道如何使用NSPredicateEditor从用户的角度定义子谓词-以及如何实现它。
假设我们在IB中创建了一个简单的NSPredicateEditor,如下所示。
它有2个选项可供选择:
所以我们可以创建像这样的谓词
lastname ==[c] "Smith" OR lastname ==[c] "Miller" OR address.street ==[c] "3rd Avenue"
现在,如果我只想选择住在第三大街的米勒斯,我该怎么办?我希望有一个类似“ s”的按钮来在所选行(密勒)的下方创建一个子谓词,以获得以下结果:
lastname ==[c] "Smith" OR (lastname ==[c] "Miller" AND address.street ==[c] "3rd Avenue")
不幸的是,每个项目(行)都只有+或-按钮。 还有其他办法吗?可以通过较少的编程工作来完成吗?
答案 0 :(得分:3)
将谓词编辑器的“嵌套”设置为“复合”。在运行时:按Option键,+按钮将变为…以添加复合行。