如何排序两个不同的核心数据对象?

时间:2016-02-24 20:46:33

标签: ios core-data entity combinations nsfetchedresultscontroller

我有两个核心数据实体。说生日&的周年

这些实体的属性是,

生日 - 姓名,年龄,出生日期

周年纪念日 - 姓名,周年纪念日

可以使用获取的结果控制器在tableview中单独显示每个实体。没关系!!但是,我想展示一个结合了生日和周年纪念日的桌面视图。排序应该通过"出生日期"来自生日& "周年纪念日"来自 Anniversary 实体。

问题

  • 我应该使用两个fetchedresultscontroller从这两个实体中获取对象吗?然后我应该对这些对象进行排序吗?这对于最小的对象来说很好,但是当计数增加时需要更多的处理时间。

  • 我应该创建一个共同的父表,它拥有"出生日期"和"周年纪念日"值?如果是这样,我该如何获取&如何定义排序描述符?

我对核心数据非常陌生,对这种情况一无所知。提供实例将不胜感激。

由于

2 个答案:

答案 0 :(得分:1)

你最好的选择可能是使用两个fetchedresultscontrollers,然后在彼此内对每组结果进行排序,然后合并两者。这似乎是实现这一目标的合理方式......另一个想法可能是在Birthday和Anniversary之间建立一个共享尽可能多的属性(IE名称和日期)的共同模型,然后你的排序描述符可以在模型超类'日期属性。

答案 1 :(得分:0)

添加父实体。周年纪念日和生日都应该继承共同的属性。然后您可以使用一个frc查询周年纪念日和生日。