gpt4 book ai didi

iOS 8 Swift - 保存多个实体的数据

转载 作者:搜寻专家 更新时间:2023-10-31 22:15:58 24 4
gpt4 key购买 nike

我的练习应用程序具有以下实体关系。

entity relationship

我坚持使用由多个实体组成的新配方的保存部分。

我拥有 RecipeIngredient 中间(联合)实体的原因是我需要一个额外的属性来按配方存储不同数量的成分。

这里的实现显然缺少为每种新成分分配数量值,因为我不确定是否需要初始化此 RecipeIngredient 实体,或者即使我这样做了,我也不知道如何将它们全部粘合作为一个食谱。

@IBAction func saveTapped(sender: UIBarButtonItem) {

// Reference to our app delegate
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate

// Reference moc
let context: NSManagedObjectContext = appDel.managedObjectContext!
let recipe = NSEntityDescription.entityForName("Recipe", inManagedObjectContext: context)
let ingredient = NSEntityDescription.entityForName("Ingredient", inManagedObjectContext: context)


// Create instance of data model and initialise
var newRecipe = Recipe(entity: recipe!, insertIntoManagedObjectContext: context)
var newIngredient = Ingredient(entity: ingredient!, insertIntoManagedObjectContext: context)

// Map properties
newRecipe.title = textFieldTitle.text
newIngredient.name = textViewIngredient.text

...

// Save Form
context.save(nil)

// Navigate back to root vc
self.navigationController?.popToRootViewControllerAnimated(true)

}

最佳答案

I was not certain about the need for initialising this RecipeIngredient entity or even if I did, I wouldn't know how to glue them all up as one recipe.

您需要像创建任何其他实体一样创建 RecipeIngredient 实例。您可以做与您所做的基本相同的事情,例如食谱:

// instantiate RecipeIngredient
let recipeIngredient = NSEntityDescription.entityForName("RecipeIngredient", inManagedObjectContext: context)
let newRecipeIngredient = RecipeIngredient(entity:recipeIngredient!, insertIntoManagedObjectContext:context)
// set attributes
newRecipeIngredient.amount = 100
// set relationships
newRecipeIngredient.ingredient = newIngredient;
newRecipeIngredient.recipe = newRecipe;

请注意,由于您已经为 ingredientrecipe 提供了反向关系,因此您不需要将 newRecipeIngredient 添加到 newRecipe.ingredients 或将 newRecipeIngredient 添加到 newIngredient.recipes

关于iOS 8 Swift - 保存多个实体的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29300111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com