CoreData:在To-Many Relationship中多次添加同一对象

时间:2013-07-22 11:09:43

标签: ios core-data

有没有办法在默认的CoreData一对多关系中多次添加同一个对象?

我有一个包含食谱的表格,以及一个包含成分的表格。

这就是我的目标:

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

Other cake
  - Apple
  - Sugar
  - Flour
  - Flour

默认情况下,addIngredientsObject - 方法仅添加配方中不存在的成分。

我是否必须使用以下内容创建自己的表:

Recipe ID
Ingredient ID
Count

或者To-Many关系是否可能?

1 个答案:

答案 0 :(得分:2)

我会听这个马蒂亚斯。

创建一个像...的关系

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

即。食谱可以有许多成分测量。成分测量只有一种成分。

回答你的问题。

在“to-many”关系中,关系映射到NSSetNSSet是一个独特的对象集合。

因此,如果您创建一个名为apple的实体并执行类似......

的操作
[myRecipe addIngredientObject:apple];
[myRecipe addIngredientObject:apple];
[myRecipe addIngredientObject:apple];
[myRecipe addIngredientObject:apple];

你仍然只有一个苹果,因为它将相同的项目添加到NSSet,这将停止重复。