Core data iphone SDK:核心数据,如何在NSFetchedResultsController中对节进行排序?

Core data iphone SDK:核心数据,如何在NSFetchedResultsController中对节进行排序?,core-data,ios4,nsfetchedresultscontroller,Core Data,Ios4,Nsfetchedresultscontroller,我有一个核心数据应用程序,它将sectionNameKeyPath“group.name”与fetchRequest一起使用,以便根据group实体的name属性对结果进行分组。我正在按group.name进行分组,但我想按group.name以外的内容对分区进行排序。根据NSFetchedResultsController文档: 如果控制器生成节, 数组中的第一个排序描述符 用于将对象分组到 部分;它的关键必须是 与sectionNameKeyPath或 必须使用其键进行相对排序 使用sect

我有一个核心数据应用程序,它将sectionNameKeyPath“group.name”与fetchRequest一起使用,以便根据group实体的name属性对结果进行分组。我正在按group.name进行分组,但我想按group.name以外的内容对分区进行排序。根据NSFetchedResultsController文档:

如果控制器生成节, 数组中的第一个排序描述符 用于将对象分组到 部分;它的关键必须是 与sectionNameKeyPath或 必须使用其键进行相对排序 使用sectionNameKeyPath将其匹配

这意味着这些部分必须按照分组的相同顺序进行排序。尽管有这些文档,但在iOS 4.2之前,您可以不将sectionNameKeyPath指定为第一个排序描述符(允许您对节进行排序,但不再指定)


在NSFetechedResultsController中对节进行排序的最佳方法是什么?例如,我希望我的分区按“group.name”分组,但按“group.timestamp”排序。

来自NSFetchedResultsController文档:

如果 您想要自定义的创建 章节和索引标题。你 推翻 sectionIndexTitleForSectionName:if 您希望节索引标题为 不是大写的东西 节名称的第一个字母。你 如果需要,请覆盖sectionIndexTitles 希望索引标题是什么 而不是由创建的数组 使命感 sectionIndexTitleForSectionName:打开 所有已知的部分


那么,你是说我在NSFetchedResultsController中通过…在NSFetchedResultsController中对节进行排序?非常形而上学。在4.2之前,有一种硬编码排序,它按照sectionNameKeyPath第一个字母的字母顺序排序。在4.2中,它采用提供的第一个排序。如果您希望覆盖这些默认行为,则必须覆盖上面的FRC方法以提供您自己的行为。