通过其子项的属性对父实体进行排序

时间:2013-06-01 04:14:54

标签: sorting core-data relationship

我目前正致力于处理电视节目及其剧集的iOS应用。我有一对多关系设置(显示 - >剧集),在UITableView中,我希望它能够通过下一个播出剧集对Show实体进行排序。我似乎无法弄明白。我有两种不同的方法,我试图无济于事。

  1. 获取剧集:使用NSPredicate仅获取firstAired属性为> =今天的剧集,然后按firstAired排序。填充tableview时,我可以访问Show属性并提取所需的数据。虽然这很棒,但我最终会看到今天播出的每一集。我没有看到任何方式只能在今天之后播出第一集。

  2. 获取节目:在Show实体上使用NSDate属性(nextEpisodeDate),每当添加新剧集时以及应用程序运行时都会更新。这意味着我必须经常更新该属性(如果剧集刚刚播出,那么该属性可以每隔30分钟更改一次)当我正在加载我的tableview时,我必须找到下一集,以便在每个单元格上播放密集并减慢的tableview。

  3. 有谁知道有效的方法吗?

1 个答案:

答案 0 :(得分:0)

我认为执行这些步骤仍然有效:

  1. 循环播放每个节目并找到下一个即将播出的剧集。您可以使用NSPredicate按节目进行填写,按firstAired排序,然后将其限制为1以获得您想要的那个。

  2. 一旦您找到该特定节目的下一个即将播出的剧集,请将其添加到NSMutableArray中,该节目将存储每个节目的所有即将播出的剧集。

  3. 一旦我们从每个节目中获得所有即将到来的剧集,请通过firstAired对NSMutableArray进行排序。

  4. 使用已排序的剧集NSMutableArray作为表格视图的数据源,然后从剧集中获取节目。

  5. 我已经建立了一个类似的应用程序,显示每个电视频道的下一个即将到来的节目,但我开发的应用程序旨在显示每天即将到来的节目,因此我有限制firstAired> =今天和firstAired的好处< =第二天。