根据匹配日期关联核心数据对象

时间:2013-06-28 22:02:15

标签: ios core-data database-design

我使用Core Data设计了我的第一个数据库。请考虑附加图像右侧的流程图。它描述了一种将EntryType对象(浅蓝色)与Day对象连接起来的算法。麻烦的是我不知道如何实现它。

我想要做的是创建一个新的Core Data Entity“Day”,并在用户通过UI实时创建它们时将它与TrainingEntries,WaterEntries,MealEntries等相关联。如果已经存在具有与新条目日期属性匹配的日历日期的“日”对象,则通过核心数据关系将两者关联在一起。然后我可以将“Day”对象传递给我的TableView和detailViews,并根据需要使用CoreData遍历图形。

  1. 在数据库级别的Core Data中创建EntryType对象时,有没有办法执行某些代码?

  2. 如何根据日期属性将“Days”与“Entries”相关联?

  3. 如何在添加“条目”后告诉“日”重新计算其属性?

  4. 先谢谢。最简单的方法是保存图像并在预览中打开它。

    =) Object Graph

1 个答案:

答案 0 :(得分:0)

单独解决每个问题:

  1. 是的,你可以。查看NSManagedObject
  2. 上的awakeFromInsert方法
  3. 由于您有一个日实体和一个条目实体,它只是一个到多个关系日 - >条目。虽然我没有使用它,但CoreData支持您可能尝试的抽象实体。这样,MealEntry,TrainingEntry等都可以扩展基本条目实体。如果您将CoreData视为对象图,则条目是“日”的关系
  4. 您可能正在寻找的是瞬态属性,它不是存储的字段,而是基于其他值计算的。