説明が難しいですが、IDでカスタムNSManagedObjectの配列をフィルタリングするためにNSPredicateを使用しようとしています。更新、削除、新しいオブジェクトの追加が可能なサーバーがあります。JSONファイルのオブジェクトが存在する場合は、そのオブジェクトが存在するかどうかを制御する必要があります。存在しない場合はコアデータに挿入します。NSPredicateはオブジェクトに複数のIDが1つあればチェックします
私は今、この述語を使用しています:jsonFileは未解析のストアオブジェクトが含まれてい
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"storeId != %@", [jsonFile valueForKey:@"Id"];
。しかし、この述語を使うと、1つのidがいくつかのstoreIdと違うので、大きな配列が得られます。次のIDは一致します。
JSONファイルは、このいくつかの並べ替えです: - 他の誰かが修正を提案するかもしれない - おそらくオフになっている
"Stores":[{
"id":1,
"name":"Spar",
"city":"London"
}
{
"id":2,
"name":"WalMart",
"city":"Chicago"
}];
これはまさに私が必要としていたものでした!ありがとうございました!それ以外の方法を調べる必要がある場合は、NSPredicate * predicate = [NSPredicate predicateWithFormat:@ "NOT(Id IN%@)"、fetchedArray]に変更するだけです; – lagos
本当にエレガントなソリューションです。ありがとうございます! – Markus