1
我有一個主陣列叫做originalListArray有多個對象。這裏是對象的例子。 Example.json使用NSPredicate ANY和IN過濾NSArray與NSDictionary(對象的嵌套級別)?
我想找到一些來自originalListArray對象,誰amenity_id與我的過濾數據進行匹配的。 我這樣做,創建一個謂詞使用任何不self因爲NSArray與NSDictionary,並在該對象可能有NSArray數據。
這工作正常。
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"ANY amenities.amenity_id =='1')"];
這是行不通的。
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"ANY amenities.amenity_id in ('1','2','3')"];
所以單值可以是過濾器很容易,但在usign其oparation碰撞和錯誤是這樣的。
終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因: '無法分析格式字符串 「在任何amenities.amenity_id( '1', '2', '3')」'
先進的感謝,如果任何人可以幫助我。
'[NSPredicate predicateWithFormat:@ 「ANY amenities.amenity_id IN%@」,@ @ 「1」,@ 「2」,@ 「3」]]'? – Larme
@Larme是的工作。首先,感謝您的快速響應,但我不明白爲什麼我必須通過陣列。因爲IN查詢我們通常以逗號分隔的值作爲字符串傳遞。 –
如果你記錄工作謂詞,你會發現它實際上是「@」任何amenities.amenity_id IN {'1','2','3'}「'(使用手鐲而不是括號)。不,使用佔位符(%@)傳遞它可以在需要時更輕鬆地進行更改。 – Larme