在关系中使用NOT的NSPredicate化合物

时间:2012-05-27 21:00:00

标签: iphone ios cocoa nspredicate

我有以下谓词没有按预期工作:

isHistoric == 0 AND (NOT ANY singleToMany.name ==[cd] "searchword")

我期待任何在singleToMany关系中具有'searchword'.name的对象都不会出现在结果中......但是他们会这样做。

如果我将它翻转到头部并移除NOT - 我只返回一个我想不使用NOT的结果! [如果这有意义]意思是:

isHistoric == 0 AND (ANY singleToMany.name ==[cd] "searchword")

返回我不希望出现在第一个谓词示例中的一个结果。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

尝试:

isHistoric == 0 AND (NONE singleToMany.name ==[cd] "searchword")

文档说NONE等同于NOT (ANY ...)。请注意括号的位置。所以,上面应该相当于:

isHistoric == 0 AND NOT (ANY singleToMany.name ==[cd] "searchword")

答案 1 :(得分:-1)

isHistoric == 0 AND singleToMany.name NOT LIKE [cd] "searchword"