アイテムをアップサートする良い方法があるかどうか疑問に思っていCoreData db
ますか?
または、CoreData db をセットと見なす方法はありますか?
つまり、アイテムをデータベースに挿入し、そこに同一の冗長アイテムが既に存在する場合、データベースはそれを無視します。便利にする方法はありますか?または、冗長性を避けるために、挿入するたびにクエリを実行する必要がありますか?
アイテムをアップサートする良い方法があるかどうか疑問に思っていCoreData db
ますか?
または、CoreData db をセットと見なす方法はありますか?
つまり、アイテムをデータベースに挿入し、そこに同一の冗長アイテムが既に存在する場合、データベースはそれを無視します。便利にする方法はありますか?または、冗長性を避けるために、挿入するたびにクエリを実行する必要がありますか?
いいえ-CoreDataには、アイテムを「同一」または「冗長」と見なす方法を知る方法がありません。これらの単語の定義は、作成するほとんどすべてのエンティティで変わる可能性があります。たとえば、企業の部門には一意の名前が付いている場合がありますが、複数の人が同じ名前を持つことができます(頻繁にそうなります)。
ただし、Core Dataのクエリ機能を利用して、NSPredicateを使用して簡単なクエリを実行し、選択した識別子を持つレコードがすでに存在するかどうかを確認できます。このクエリを独自のメソッド(おそらく管理対象オブジェクトのサブクラス上)に分解して、便利に呼び出すことができます。