2

デフォルトの CoreData の 1 対多の関係で、同じオブジェクトを複数回追加する方法はありますか?

レシピが入った表が 1つと、食材が入った表が 1 つあります。

これは私が目指しているものです:

Apple cake
  - Apple
  - Apple
  - Apple
  - Sugar
  - Flour

Other cake
  - Apple
  - Sugar
  - Flour
  - Flour

デフォルトでは、 -addIngredientsObjectメソッドは、レシピに存在しない場合にのみ材料を追加します。

次のような独自のテーブルを作成する必要がありますか?

Recipe ID
Ingredient ID
Count

または対多関係で可能ですか?

4

1 に答える 1

2

私はこれでマティアスに耳を傾けます。

みたいな関係を作って…

Recipe <->> IngredientMeasure <<-> Ingredient.

つまり、レシピには多くの材料メジャーを含めることができます。成分測定には成分が 1 つしかありません。

あなたの質問に答えるために。

「対多」関係では、関係は にマップされますNSSetNSSetオブジェクトのユニークなコレクションです。

したがって、というエンティティを作成し、次のappleようなことを行うと...

[myRecipe addIngredientObject:apple];
[myRecipe addIngredientObject:apple];
[myRecipe addIngredientObject:apple];
[myRecipe addIngredientObject:apple];

同じアイテムを NSSet に追加して重複を防ぐため、リンゴは 1 つだけになります。

于 2013-07-22T12:03:21.967 に答える