CoreData中的关系

时间:2010-10-11 09:18:42

标签: iphone objective-c cocoa-touch core-data

我对核心数据很陌生我在Apples开发网站上阅读了几篇文章&现在使用它与一个实体有点相容。

现在我正在开发一个向用户推荐食谱的应用程序。

数据设计有点像我有这些实体

  

项目

  

食品储藏室

&安培;

  

配方

关系如下:

  

项目到许多食品室

     

项目到很多食谱

逻辑是从食品储藏室获取物品。将它们与食谱和食谱中的值进行比较然后建议用户食谱。

我对如何去做有点困惑。 我的数据设计没问题。如果是以下情况我该如何更改? &安培;将访问pantry对象托管实例自动从Items表中获取相应的项目...? &安培;同样在我访问食谱时会取出食品室......?

评论,建议,指向coredata学习资源将受到高度赞赏。

由于

2 个答案:

答案 0 :(得分:1)

您可以查看Apple网站上的example (iPhoneCoreDataRecipes)。他们还在Core Data中存储和引用配方数据。

答案 1 :(得分:1)

您的数据模型应反映您尝试模拟的真实对象,事件或条件。

在这种情况下,听起来你正在模拟一个带有单个食品室的厨房,食品室中的许多物品,然后是一本使用这些食品的食谱。因此,在伪代码中,您的对象模型应该类似于:

Item{
    pantry<<-->Pantry.items
    recipies<<-->>Recipie.items
}

Pantry{
    items<->>Item.pantry
}

Recipe{
    items<<-->>Recipie
}

请注意,配方关系的项目是to-many和to-many,因为相同的项目可以显示在许多食谱中,许多不同的食谱可以使用相同的项目。