Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Core data CoreData多对多关系_Core Data_Many To Many - Fatal编程技术网

Core data CoreData多对多关系

Core data CoreData多对多关系,core-data,many-to-many,Core Data,Many To Many,如何在CoreData中处理多对多关系? 例如: 我有两个实体-食谱和配料 CoreData将它们链接为食谱和配料。 现在我需要为配方中的每种成分添加属性“Count”。我怎么做 感谢核心数据为您提供了对象图一致性维护。因此,如果您使用SQLite存储,核心数据会自动为您创建多对多关系的中间联接表。在您的情况下,您应该显式地创建一个中间(“连接”)实体。中间实体的一个优点是,您还可以使用它向 关系,例如“IngreditInfo”实体可能包括“计数”列。所以你的模型应该是这样的:Recipe>I

如何在CoreData中处理多对多关系? 例如:

我有两个实体-食谱和配料

CoreData将它们链接为食谱和配料。 现在我需要为配方中的每种成分添加属性“Count”。我怎么做


感谢

核心数据为您提供了对象图一致性维护。因此,如果您使用SQLite存储,核心数据会自动为您创建多对多关系的中间联接表。在您的情况下,您应该显式地创建一个中间(“连接”)实体。中间实体的一个优点是,您还可以使用它向
关系,例如“IngreditInfo”实体可能包括“计数”列。所以你的模型应该是这样的:Recipe>IngredientInfo你说的“我需要为每种成分添加属性“Count”是什么意思?”?这是否意味着您要添加新的NSAttributedDescription,或只是用新值更新此属性?@MarkKryzhanouski Recipes有3列:名称、拇指图像、配料有2列:名称、配方、配料、配料。现在我需要添加“计数”列(某些配方中某些配料的计数)我想应该是
IngredientInfo@Mark谢谢!这就是我想要的need@Mark当我选择一些配方时,我应该如何获得配料集及其计数?@MarkKryzhanouski如果我不创建IngredentInfo,那么是否可以从两侧更新实体?@msmq如果您不自己创建中间联接表,那么只需在配方配料之间建立多对多关系即可在CoreData model builder中具有相应名称成分/配方的实体,并通过双方的关系属性进行访问。示例recipe.Components或Component.recipes。希望它是清楚的。
    for (IngredientInfo* ingredientInfo in recipe.ingredientInfos) {
        Ingredient* ingredient = ingredientInfo.ingredient;
        NSNumber* count = ingredientInfo.count;
    }
NSSet* ingredients = [recipe valueForKeyPath:@"ingredientInfo.ingredient"];