Iphone 我可以在fetchedResultsController中使用多个sectionNameKeyPath吗?

Iphone 我可以在fetchedResultsController中使用多个sectionNameKeyPath吗?,iphone,uitableview,nsfetchedresultscontroller,Iphone,Uitableview,Nsfetchedresultscontroller,我在核心数据中有一个“账单”列表。 对于每个账单,我希望在UITableViewController中有一个单独的部分。 我想把这些账单按金额分类 为此,我使用fetchedResultsController。 每张账单都有一个金额和账单ID。 我已将sortDescriptor设置为“金额”,并将sectionNameKeyPath设置为“billID”。这会导致问题,因为didChangeSection在需要时没有得到适当的调用 我做了一些挖掘,发现了这篇文章: 看起来苹果的文档中说,主要排

我在核心数据中有一个“账单”列表。 对于每个账单,我希望在UITableViewController中有一个单独的部分。 我想把这些账单按金额分类

为此,我使用fetchedResultsController。 每张账单都有一个金额和账单ID。 我已将sortDescriptor设置为“金额”,并将sectionNameKeyPath设置为“billID”。这会导致问题,因为didChangeSection在需要时没有得到适当的调用

我做了一些挖掘,发现了这篇文章:

看起来苹果的文档中说,主要排序描述符需要与sectionNameKeyPath相同

我将sortDescriptor保留为'amount',并将sectionNameKeyPath更改为'billID'。这已修复了该行为。但是,如果两张账单的“金额”相同,它们将位于同一部分,这是我不想要的。无论如何,我是否可以让sectionNameKeyPath依赖于两个变量,例如“amount”和“billID”,这样我就可以保证每个账单都有一个单独的部分,并且可以按金额排序


提前感谢。

NSFetchRequest的
sortDescriptor
属性实际上是一个数组。我们可以根据属性的顺序将多个
sortDescriptor
传递给它,以便对结果进行排序

尝试此排序
sortDecriptor
s

request.sortDescriptors= @[billIdSortDescriptor, amountSortDescriptor];
这里,
request
是传递给
NSFetchedResultsController的
nsfetchedrequest

因此,结果将首先按票据id排序,具有相同
billID
的对象将按金额排序。

您找到了解决此问题的方法吗?