我遇到NSPredicate解析问题
NSMutableArray *array =[[NSMutableArray alloc] initWithCapacity:3];
[array addObject:[NSPredicate predicateWithFormat:@"NONE = 1"]]
错误为Unable to parse the format string "NONE = 1"
答案 0 :(得分:2)
NONE
是谓词中的关键字,意思是“这些都不应该是真的”。您可以这样想:NONE(=1)
其中=1
不是有效的表达式。这就是它无法解析的原因。
您可以使用NONE
关键字来表示某些集合属性中的任何值都不应该评估为true。例如:NONE someArrayProperty = 1
将查看someArrayProperty的所有值,并检查它们中的任何值是否等于1.
<强>
NONE
强>
不指定以下表达式中的元素。例如,NONE children.age < 18
。这在逻辑上等同于NOT (ANY ...)
。