NSPredicate无法解析格式字符串

时间:2013-01-16 13:19:51

标签: objective-c nspredicate

我遇到NSPredicate解析问题

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

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

1 个答案:

答案 0 :(得分:2)

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

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


来自the documentation

  

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