私のアプリでCoreData
を使用しています。私は「カード」エンティティのセットを持っています。プレイヤーは自分のデッキに同じカードを複数持つことができます(それはデータベースから引き出された同じカードですが、アレイに2回追加されます)。重複したNSManagedObject
重複するカードのいずれかのアスペクトを変更したいときに問題が発生します。これらはすべて、サブクラス化されたNSManagedObjects
です(データベースには保存されません)。たとえば、カスタムプロパティの1つを配列の1つのカードに設定した場合、entityForName:inManagedObjectContext:
は同じオブジェクトを返し、新しいオブジェクトをロードしないため、配列の他の同じカードでも変更されます。
基本的に私が必要とするのは、entityForName:inManagedObjectContext:
が呼び出されるたびに同じエンティティの新しいインスタンスが取得されるため、1つのカスタムプロパティを変更すると、別のインスタンスでも変更されません。エンティティがすでに作成されていても機能しない場合、[エンティティコピー]を使用して既に試してみました。
ありがとうございました!