有没有办法在默认的CoreData一对多关系中多次添加同一个对象?
我有一个包含食谱的表格,以及一个包含成分的表格。
这就是我的目标:
Apple cake
- Apple
- Apple
- Apple
- Sugar
- Flour
Other cake
- Apple
- Sugar
- Flour
- Flour
默认情况下,addIngredientsObject
- 方法仅添加配方中不存在的成分。
我是否必须使用以下内容创建自己的表:
Recipe ID
Ingredient ID
Count
或者To-Many关系是否可能?
答案 0 :(得分:2)
我会听这个马蒂亚斯。
创建一个像...的关系
Recipe <->> IngredientMeasure <<-> Ingredient.
即。食谱可以有许多成分测量。成分测量只有一种成分。
回答你的问题。
在“to-many”关系中,关系映射到NSSet
。 NSSet
是一个独特的对象集合。
因此,如果您创建一个名为apple
的实体并执行类似......
[myRecipe addIngredientObject:apple];
[myRecipe addIngredientObject:apple];
[myRecipe addIngredientObject:apple];
[myRecipe addIngredientObject:apple];
你仍然只有一个苹果,因为它将相同的项目添加到NSSet,这将停止重复。