0

我对 NSPredicate 解析有疑问

NSMutableArray *array =[[NSMutableArray alloc] initWithCapacity:3];
[array addObject:[NSPredicate predicateWithFormat:@"NONE = 1"]]

错误是Unable to parse the format string "NONE = 1"

4

1 回答 1

2

NONE是谓词中的关键字,意思是“这些都不应该是真的”。你可以这样想:NONE(=1)where=1不是一个有效的表达式。这就是它无法解析的原因。

您将使用NONE关键字来表示某些集合属性中的任何值都不应该评估为真。例如:NONE someArrayProperty = 1将查看 someArrayProperty 的所有值并检查它们是否等于 1。


文档中

NONE
不指定以下表达式中的任何元素。例如,NONE children.age < 18。这在逻辑上等价于NOT (ANY ...)

于 2013-01-16T14:29:18.970 回答