2013-01-16 239 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)中所述 –