【发布时间】:2015-04-04 07:18:19
【问题描述】:
我正在构建一个需要核心数据关系的应用:
entityA <<---> entityB (e.g. any given entityA can hold many entityB objects)
我有两个带有 entityA 列表项的表视图,我希望能够将 entityB 对象存储在任何给定的 entityA 对象中。
我不熟悉使用与核心数据的关系(而且对 swift 也很陌生),并且想了解如何使这项工作发挥作用。有没有人有任何快速教程可以让我看看或任何其他可以帮助我学习的资源?
对不起,如果我的问题没有多大意义,请让我澄清是否需要。
谢谢!
更新:
这里对我想要学习的内容进行了更具体的说明。
假设我有实体“Person”(属性可能包括姓名、年龄等)和一个表格视图,我的应用用户可以在其中添加一个人。 (我已经建立并知道如何适当地做)但是,现在我想添加实体“膳食”(属性可能包括食物),并且膳食是它自己的表格视图,我可以通过选择我的人来访问它想加个饭来。每个人可以多吃一顿饭,但每顿饭只能有一个人。
问题是:为了完成此任务,我的核心数据模型、fetchRequest 等会是什么样子?
希望这已经足够清楚了! :)
谢谢
这是我创建餐点的函数的代码 sn-p:
func createMeal() {
let entityDescription = NSEntityDescription.entityForName("Meal", inManagedObjectContext: managedObjectContext!)
let meal = Meal(entity: entityDescription!, insertIntoManagedObjectContext: managedObjectContext)
meal.mealName = mealNameTxt.text
meal.mealItem1 = mealItem1Txt.text
managedObjectContext?.save(nil)
}
【问题讨论】:
-
查看来自 raywanderlich.com 的教程的核心数据...第 3 章和第 4 章讨论了节点编辑器和构建“对多”关系,以及用于获取过滤的数据子集的不同选项。 ... 在上面的代码 sn-p 中,您将新餐与特定人联系起来?您只是在创建它并将其添加到上下文中,而无需将其与任何人实体关联。顺便说一句,您上面的“A & B”箭头指向了您所描述的错误方向。您的“Person & Meal”屏幕截图看起来正确(很多餐点),但属性名称与您的代码 sn-p 不匹配。
-
查看我的核心数据关系演示:github.com/iMac239/CoreDataRelationshipDemo 希望对您有所帮助!
标签: ios uitableview swift core-data relationships