私はいくつかの深い関係を持つNSManagedObjectサブクラスを持っています。コアデータ内の複数のオブジェクトを削除する
ので、順序が(多)複数subordersを持って
suborder.items
order.subOrdersと亜目がに(複数の項目があります。ここでの影響を受けた関係は、(例えばのために)、以下のようにしています-たくさんの)。
私の注文には3つのサブオーダーがあり、各サブオーダーには3つのアイテムがあります。私は、ほぼ同時に、各サブオーダーから1つのアイテムを削除する必要があります。
だから、私は次のことを試してみた:私は、その後、再実行アプリ
for(Item *item in itemsToBeDeleted) {
[context deleteObject:item];
}
[context save:&error];
、1つだけのアイテムが削除されたようです。したがって、残りの2つのアイテムを削除して(同じ方法を使用)、アプリを再実行しますが、もう一度1つだけ削除されています。
誰でも正しい方向に私を向けることができますか?
ありがとうMichal。私はNSLogで各反復が行われているので、コレクションには正しい数のオブジェクトがあります。コレクション内の各オブジェクトは、削除する必要のある正しいオブジェクトのようです。 –
助けが必要な場合は、分析のためにコードをアップロードする必要があります。私は上記のコードに何か問題があるとは思わない。 –
おかげでMichal。コードは実際にはちょうどそれよりずっと複雑です(削除部分自体は単純ですが)。これらの項目を反復処理するときに別のコードを使用し始めたときに問題は解決しました。私は削除するアイテムを収集するときに自分のメソッドの1つでエラーが発生したと仮定することができます。 –