2013-01-16 240 views
0

我有NSPredicate问题解析NSPredicate无法解析格式字符串

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

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

+0

你想让你的谓词做什么?如果你解释你正在尝试做什么,而不是只向代码展示我们的代码,我们不仅可以指出代码中的错误,而且实际上可以帮助你为你正在尝试做的事提供一个解决方案。 –

回答

1

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

您可以使用NONE关键字来表示某些集合属性中的值都不应计算为true。例如:NONE someArrayProperty = 1会去翻someArrayProperty的所有值,并检查其中是否等于1


the documentation

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

+0

感谢您的帮助,我更改了NONE并解决了问题。 –

+1

如果答案解决了您的问题,您应该“通过单击答案左侧的复选框大纲将其标记为接受的答案。”如[FAQ](http://stackoverflow.com/faq#howtoask)中所述 –