ユーザーがタイトル付きのドキュメントを作成し、それに著者を割り当てることができるアプリケーションがあります。新しいオブジェクトがリストからインポートされたときに、重複したオブジェクトがコア データ データベースに入力されないようにしようとしています。私はApples documentationの提案に従おうとしています。これは、インポートされるすべてのオブジェクトをロードすることを提案し、データベースにクエリを実行して、それらのオブジェクトのいずれかが既に存在するかどうかを確認し、重複を適切に処理します。彼らの例では、単一の属性からクエリを実行しています。
[fetchRequest setPredicate: [NSPredicate predicateWithFormat: @"(employeeID IN %@)", employeeIDs]];
ただし、私の場合は、一意のオブジェクトを定義する 2 つの属性があります。タイトルと作成者です。だから私は単に使用することはできません:
[fetchRequest setPredicate: [NSPredicate predicateWithFormat: @"(title IN %@) AND (author IN %@)", titleList, authorList]];
一連の or ステートメントを使用できることはわかっていますが、それは非効率的です。
正しいタイトルと著者の組み合わせでオブジェクトだけを効率的に取得する方法についてのアイデアはありますか?