我有一个核心数据模型,我正在尝试弄清楚如何构建它。
可以说我有一个Recipe
。它有一个name
, title
, image
和 5 种成分。
我可以制作一个食谱实体吗recipeName
, title
。然后一个Image
实体与recipeName
, imageURL
.
Then an Ingredient
实体与recipename
, ingresient1
, ingredient1measurwment
, ingredient2
, etc...
或者我会在一个食谱实体下完成这一切(但如果理论上我创建一个包含 100 种成分的食谱会发生什么?
另外,我用recipeName
因为我认为这就是你将它们联系起来的方式?
根据您的问题,我将创建两个不同的实体。
Recipe
,Ingredient
where Recipe
与 具有一对多关系Ingredient
.
So, Recipe
将具有一些属性(您需要的属性)和一个简单的关系,例如toIngredients
. toIngredients
是一对多的关系。换句话说,一份食谱可以有零种(如果需要的话,也可以有一种)成分。
同样地,Ingredient
有一些属性。此外,它还有一对一(inverse) 关系称为toRecipe
to its Recipe
。在这里,如果您的食谱可以共享成分,您也可以决定使用一对多,但这严格取决于您想要建模的内容。
关于人际关系的规则,toIngredients
具有级联规则。当您删除食谱时,其所有成分也会被删除。相反,toRecipe
将是 nullify 类型。
这是它的简单架构。
where toIngredients
设置如下:
and toRecipe
is:
请注意optional标记为toRecipe
未选中。这意味着只有配方存在,成分才能存在。如果您不遵守此规则,Core Data 将对此进行投诉。
关于图像,这取决于图像有多大。遵循 Marcus Zarra 规则来决定如何设计模型核心数据 - 存储图像 (iPhone) https://stackoverflow.com/questions/2090028/core-data-storing-images-iphone.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)