有點難以解釋,但我試圖使用NSPredicate過濾由ID的自定義NSManagedObject的數組。我有一個可以發送更新,刪除或添加新對象的服務器,並且我需要控制JSON文件中的這些對象是否已經存在,如果存在,只需更新它們或者插入到核心數據中。NSPredicate檢查NSArray如果對象有幾個ID
我使用這個謂詞現在:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"storeId != %@", [jsonFile valueForKey:@"Id"];
凡jsonFile包含非解析庫對象。但是有了這個謂詞,它會給我一個巨大的數組,因爲一個id將不同於某個storeId,並且next id會匹配。
JSON文件是某種類型的:
"Stores":[{
"id":1,
"name":"Spar",
"city":"London"
}
{
"id":2,
"name":"WalMart",
"city":"Chicago"
}];
這正是我所需要的!謝謝!如果我需要檢查另一種方式,我只是將其更改爲'NSPredicate * predicate = [NSPredicate predicateWithFormat:@「NOT(Id IN%@)」,fetchedArray];' – lagos 2012-07-31 08:47:45
非常優雅的解決方案,謝謝! – Markus 2015-05-04 08:02:00